我知道你mod_rewrite ninjas会在一秒内回答这个问题。 Google已经使用/p.php?p=Monkey
格式对一堆网址编制索引,我想使用.htaccess重写规则来提供一个很好的301永久重定向到/Monkey
我试过这段代码:
# Redirect old product page address to new location
RewriteCond %{QUERY_STRING} ^p=(.*)$
RewriteRule . /$1 [L,R=301]
但它不能按要求工作。条件似乎匹配,因为规则执行但重定向到/p=Monkey
。差不多了!我究竟做错了什么?如何在查询字符串中反向引用p
的所有重要值?
答案 0 :(得分:2)
固定!当我应该使用百分比符号时,我的错误是使用美元符号进行反向引用。我是多么完整的驴子!这可能是因为我主要使用PHP编写代码,其中后向引用以美元为前缀。
此外,我不得不添加一个问号来指示它完全删除查询字符串。
功能代码如下:
# Redirect old product page address to new location
RewriteCond %{QUERY_STRING} ^p=(.*)$
RewriteRule . /%1? [L,R=301]