我想要将几个网址重定向到同一个地方,但这些是动态网址。
结构是这样的:
http://www.mysite.com/declaration/list?[query_string]
我认为这种情况最理想的是在我的.htaccess文件中使用一些正则表达式将所有这些链接重定向到网站主页。
我想知道是否有人可以帮助我解决这种情况的正则表达式。到目前为止,我有这个,但它不起作用:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/declaration/list$ http://www.mysite.com/$ [R=301,L]
我的正则表达式至少可以说是弱点,我想要的东西,并且我正在努力学习。
提前致谢。 汤姆
答案 0 :(得分:3)
由于您在.htaccess文件中使用mod_rewrite,因此需要从模式中删除上下文路径前缀。所以试试这个:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^declaration/list$ http://www.example.com/ [R=301,L]
由于.*
将匹配任何字符串,因此您的RewriteCond
指令无需额外使用:
RewriteRule ^declaration/list$ http://www.example.com/ [R=301,L]
如果您不希望将查询自动附加到新网址,请在替换中指定一个空查询:
RewriteRule ^declaration/list$ http://www.example.com/? [R=301,L]