重定向到目录,保留查询字符串

时间:2011-06-29 20:55:41

标签: .htaccess mod-rewrite redirect

对具有查询字符串的/的任何请求都会导致触发404。我发现如果我在查询字符串之前添加/shop/,它会在内部重定向,并且不会触发404。

我需要一个通用的mod_rewrite规则,它将采用以下形式的URL:

http://www.example.com/?foo=bar

并将其重定向到:

http://www.example.com/shop/?foo=bar

保存查询字符串(可以是任何内容)。

1 个答案:

答案 0 :(得分:0)

重定向(网址会更改)所有匹配到ROOT(例如http://www.example.com/), 查询字符串为http://www.example.com/shop/

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^$ http://www.example.com/shop/ [QSA,R,L]

这将在内部重写(网址将在浏览器中保持不变)所有点击到ROOT(例如http://www.example.com/查询字符串到{{1 }}

http://www.example.com/shop/