【发布时间】:2013-12-21 10:18:40
【问题描述】:
我有一组试图重定向到新 URL 的页面。它们在目标 URL 中的查询字符串与在原始 URL 中的查询字符串不同。
http://localhost/people.php?who=a
应该重定向到:
http://localhost/people/?t=leadership
不断……
我有以下一组重写规则,显然做错了什么。
RewriteRule ^people.php?who=a /people/?t=leadership [R=301,L]
RewriteRule ^people.php?who=f /people/?t=faculty [R=301,L]
RewriteRule ^people.php?who=p /people/?t=students [R=301,L]
RewriteRule ^people.php?who=r /people/ [R=301,L]
RewriteRule ^people.php /people/ [R=301,L]
发生的情况是前 4 条规则不匹配,页面重定向到:
http://localhost/people/?who=a
我尝试了 QSD 标志,但似乎我的问题是该规则与整个查询字符串不匹配,而不是它正在传递查询字符串。
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect