301重定向 - 重新启动后查询字符串到SEO URL

时间:2015-10-28 10:48:02

标签: regex apache .htaccess mod-rewrite redirect

在重新启动页面之前,可按如下方式访问页面:

  

?page_id = 10 //联系页面

重新启动页面可以通过seo URL访问。截至此?page_id=10必须重定向到/contact/

RewriteCond %{REQUEST_URI}  ^/(index\.php){0,1}$
RewriteCond %{QUERY_STRING} ^page_id=10$
RewriteRule ^(.*)$ /contact/ [L,R=301]

但是,由于某些原因,此代码段导致无限制重定向

http://www.myurl.com/contact/?page_id=34

好的,在检查结果网址时很明显,但我想知道为什么这个代码片段会将查询字符串附加到网址。我没有使用反向引用。

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteCond %{QUERY_STRING} ^page_id=10$ [NC]
RewriteRule ^index\.php$ /contact/? [L,R=301,NC]
目标中的

?剥离任何查询字符串。

相关问题