我想将我的旧 php 文件重定向到新的 seo 友好文件:
user.php?user=$var1&task=$var2 -> url/$var1/$var2
有2个问题。$var2 不是每次都设置,所以我不知道如何处理,查询字符串总是在最后添加。
我使用以下重定向规则进行测试(没有 $var2)
RewriteCond %{THE_REQUEST} ^(.+)user\.php(.+)$
RewriteCond %{QUERY_STRING} user=([^/]+)$
RewriteRule ^(.+)\.php$ %1 [R]
我明白了:
url/$var1/?user=$var1
第二个问题是重写规则,因此 url/$var1 -> user.php?user=$var1 如果没有它,我会收到服务器错误。
在我尝试这个静态测试的那一刻,但这不是唯一的规则,所以这里的条件是错误的
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ user.php?user=$1 [L]
我如何通过变量获得正确的结果和更大的灵活性?mod_rewrite 目前不是我的世界,所以我希望你能在黑暗中带来光明。
谢谢你