.htaccess 使用htaccess将php动态参数转换为url

.htaccess 使用htaccess将php动态参数转换为url,.htaccess,mod-rewrite,parameters,url-rewriting,friendly-url,.htaccess,Mod Rewrite,Parameters,Url Rewriting,Friendly Url,我试图通过使用基于斜杠的url修改php参数来创建SEO友好的url 我想做 mysite.com/TopList.php?tl=ToplistName&fr=2021-02-10&to=2021-02-20 进入: mysite.com/ToplistName/2021-02-20/2021-02-20 我成功地重写了url,但没有一个包含引用了正确的目录路径,也没有从链接中断开css、js和文件路径 这是我现在在.htaccess文件中的内容: RewriteRule ^([^/\.]+)/

我试图通过使用基于斜杠的url修改php参数来创建SEO友好的url

我想做
mysite.com/TopList.php?tl=ToplistName&fr=2021-02-10&to=2021-02-20
进入:
mysite.com/ToplistName/2021-02-20/2021-02-20

我成功地重写了url,但没有一个包含引用了正确的目录路径,也没有从链接中断开css、js和文件路径

这是我现在在.htaccess文件中的内容:

RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$ TopList.php?tl=$1&fr=$2&to=$3

有谁能帮我在.htaccess文件中整理一下吗?

根据您展示的样本,请尝试以下内容。 请确保在测试URL之前清除浏览器缓存

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/?$  TopList.php?tl=$1&fr=$2&to=$3 [L]

根据你们展示的样品,你们能试一下吗。 请确保在测试URL之前清除浏览器缓存

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/(\d{4}-\d{2}-\d{2})/(\d{4}-\d{2}-\d{2})/?$  TopList.php?tl=$1&fr=$2&to=$3 [L]

我通过以下方法解决了这个问题:

  • 已添加到html:

  • 添加到.htaccess:
    重写cond%{REQUEST_FILENAME}-f
    重写cond%{REQUEST_FILENAME}-l
    #1更改完整查询
    重写规则^([^/]+)/([^/]+)/([^/]+)/?$TopList.php?tl=$1&fr=$2&to=$3
    #2仅更改第一个登录页
    重写规则^([^/]+)/?$TopList.php?tl=$1

  • 这给了我以下结果:
    mysite.com/TopList.php?tl=ToplistName==>mysite.com/ToplistName

    mysite.com/TopList.php?tl=ToplistName&fr=2021-02-10&to=2021-02-20==>mysite.com/ToplistName/2021-02-10/2021-02-20

  • 已添加到html:

  • 添加到.htaccess:
    重写cond%{REQUEST_FILENAME}-f
    重写cond%{REQUEST_FILENAME}-l
    #1更改完整查询
    重写规则^([^/]+)/([^/]+)/([^/]+)/?$TopList.php?tl=$1&fr=$2&to=$3
    #2仅更改第一个登录页
    重写规则^([^/]+)/?$TopList.php?tl=$1

  • 这给了我以下结果:
    mysite.com/TopList.php?tl=ToplistName==>mysite.com/ToplistName
    mysite.com/TopList.php?tl=ToplistName&fr=2021-02-10&to=2021-02-20=>mysite.com/ToplistName/2021-02-10/2021-02-20