Apache 2.4替换URL

时间:2016-03-02 14:30:07

标签: regex apache mod-rewrite

我想重定向访问者:

http://example.com/?document=whatever&blah1=x&blah=y

要:

http://example.com/newsite/?document=whatever&blah1=x&blah2=y

所以基本上我想(仅)替换:

?文档

使用:

newsite /?文档

保持URL的其余部分不变。如果请求不包含?文档,我只想不管它。

修改

我已经尝试了以下正确重定向的方法,但是我遇到了重定向循环,因为下次仍然会找到查询参数。

RewriteEngine  on
RewriteCond %{QUERY_STRING} document
RewriteRule / /newsite/ [R,L]

我可以修改这个,所以如果" newsite"那么重写就不会发生。是在URL中,还是可以将文档查询参数重命名为重新文档,以便下次使用时不会被规则选中?还有其他建议吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

我通过以下方式实现了(我希望):

RewriteEngine  on
RewriteCond %{REQUEST_URI} !newsite [NC]
RewriteCond %{QUERY_STRING} page
RewriteRule / /redirect/ [R,L]