仅当QUERY_STRING或REQUEST_URI不为空时才重写规则转发

时间:2017-04-06 07:52:39

标签: apache .htaccess mod-rewrite url-rewriting url-redirection

我希望RewriteRule能够将QUERY_STRINGREQUEST_URI的任何网址转接到其他网站,并忽略任何其他来电。

例如:

http://X.com/images  >> http://Y.com/images
http://X.com/?action=show  >> http://Y.com/?action=show
http://X.com/  >> http://X.com/ // Or Ignore

有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

您可以使用:

RewriteEngine on

#redirect /?querystring to http://y.com/?querystring
RewriteCond %{QUERY_STRING} .+
RewriteRule ^$ http://y.com/ [L,R]
#/anyUri to http://y.com/anyUri but exclude the root
RewriteRule ^.+ http://y.com%{REQUEST_URI} [L,R]

答案 1 :(得分:0)

QUERY_STRINGREQUEST_URI参数的一部分。你只需要检查后者是否存在:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/.
RewriteCond %{HTTP_HOST} ^(?:www\.)?x\.com$
RewriteRule ^ http://y.com%{REQUEST_URI} [R,L,QSA]