如何删除冗余?p = 1来自URL

时间:2011-05-19 16:54:32

标签: apache .htaccess mod-rewrite

所以我遇到了一个问题,当我从第2页移回页面1时,我的分页会在URL的末尾添加一个?p = 1.随着问题的纠正,这些链接不再被提供,我必须尝试找到一种方法从这些URL进行301重定向到正确的URL,以便搜索引擎可以更新这些链接。

我在Apache服务器上,我希望能够使用RedirectMatch 301来执行此操作,但我认为它不能与查询字符串一起使用。

RedirectMatch 301 (.*)?p=1 http://mydomain.com/$1 

没有做到这一点

我相信解决方案将最终成为我使用RedirectCond和Rewrite语句来完成这项工作,但我不知道如何让它重定向。

有人可以帮我解决这个问题吗?到目前为止我所得到的内部服务器错误显然我还没有走上正轨。

RewriteCond %{REQUEST_URI} (.*)$
RewriteCond %{QUERY_STRING} ^?p=1$
RewriteRule ^.*$ http://devserver/$1 [L,R=301]

如果有人甚至可以指出我如何设置它的好教程也会有所帮助。

1 个答案:

答案 0 :(得分:0)

RewriteCond %{QUERY_STRING} (^|&)p=1(&|$)
RewriteRule . http://devserver%{REQUEST_URI}? [L,R=301]