如何使用Apache mod_rewrite RewriteCond重定向链接?

时间:2012-03-20 20:15:46

标签: apache mod-rewrite

我在重定向链接时遇到了一些困难。这是一个简单的例子,我希望你能告诉我我失踪的是什么导致它失败。

RewriteCond %{QUERY_STRING} NAV=PIXIES
RewriteRule ^/category.asp?NAV=PIXIES /category/pop-artpixies-trade- [R=301,L,NE]

请告诉我我可以提供的更多信息。

1 个答案:

答案 0 :(得分:2)

查询字符串未包含在URI中,以便在RewriteRule指令中进行匹配:

RewriteCond %{QUERY_STRING} NAV=PIXIES
RewriteRule ^/category.asp$ /category/pop-artpixies-trade- [R=301,L,NE]

如果这是在.htaccess文件中,则需要删除正则表达式匹配中的前导斜杠:

RewriteRule ^category.asp$ /category/pop-artpixies-trade- [R=301,L,NE]

如果您想从查询字符串中实际删除 NAV=PIXIES(因为上述规则会将http://domain/category.asp?NAV=PIXIES重写为http://domain/category/pop-artpixies-trade-?NAV=PIXIES),那么您需要添加一个 ”?”到目标的最后:

RewriteRule ^category.asp$ /category/pop-artpixies-trade-? [R=301,L,NE]