2017-04-06 13 views
1

私はのURLをQUERY_STRINGまたはREQUEST_URIというURLで別のWebサイトに転送し、他の呼び出しを無視したいと考えています。例えばQUERY_STRINGまたはREQUEST_URIが空でない場合にのみRewriteRule転送

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 

誰も私を助けることができますか? QUERY_STRINGREQUEST_URIパラメータの一部である

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] 

答えて

0

あなたはこれを使用することができます。あなただけ後者の存在を確認する必要があります。

RewriteEngine On 

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

ありがとうございました、私はあなたのコメントごとにコードを更新しましたREQUEST_URI –

+0

任意のQUERY_STRINGをターゲットにしています。役に立った – starkeen

+1

グレート.. {REQUEST_URI]に必要なだけのマイナーな修正をいただき、ありがとうございます>> {REQUEST_URI} –

0

+0

は、私はあなたがHTT_HOST それは http://X.com/imagesで動作HTTP_HOSTを意味ないと考えているあなたに をありがとう>> http://Y.com/images http://X.com/?action=show >> http://Y.com/?action=show ではなく、 と動作します。 http://X.com/index.php?action=show >> http://Y.com/index.php?action=show –

+0

@ZuhairAliはい。タイプミスが修正されました。また、単一のルールがすべてのケースを処理できるようにQSAフラグを追加しました。 – hjpotter92

関連する問題