【发布时间】:2013-05-14 08:01:45
【问题描述】:
我想将我的旧 php 文件重定向到新的 seo 友好文件:
user.php?user=$var1&task=$var2 -> url/$var1/$var2
有两个问题。 $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 目前不是我的世界,所以我希望你能在黑暗中带来光明。
谢谢鲁文
【问题讨论】:
标签: apache .htaccess mod-rewrite