2016-11-14 17 views
1

すべてのトラフィックを新しいページにリダイレクトします。私たちはまだパートナー様が使用しており、移行準備がまだ整っていないため、古いページでアクセス可能なままにしておくことをお勧めします。Apache HTTP_URIは、query_stringを含むすべてのURLをリダイレクトします

問題は、QUERY_STRINGパラメータが原因です。

これまでの私のルール:

RewriteCond %{REQUEST_URI} !^/endfile.php 
RewriteCond %{REQUEST_URI} !^/sites/default/files/pdffolder/ 
RewriteCond %{REQUEST_URI} !^/insure/agency 
# RewriteCond %{REQUEST_URI} !^/content/insurance1?szs=000029&wssl=1 
# RewriteCond %{REQUEST_URI} !^/text/insurance2?wssl=1&zst=enter  
RewriteRule (.*) https://www.new-domain.eu/ [R=301,L] 

コードは、私はそれが4番目と5番目のルールのために働くことを得るカント拳3.のために動作します。私は現在、コメントアウトしています。

QUERY_STRINGルールを使用してみましたが、成功しませんでした。書き換え条件でANDを使う方法はありますか?

アイデア?

答えて

1

REQUEST_URIを使用してクエリ文字列を照合することはできません。 URIとクエリの両方に一致するようにTHE_REQUESTを使用します。

RewriteCond %{REQUEST_URI} !^/endfile\.php [NC] 
RewriteCond %{REQUEST_URI} !^/sites/default/files/pdffolder/ [NC] 
RewriteCond %{REQUEST_URI} !^/insure/agency [NC] 
RewriteCond %{THE_REQUEST} !\s/+content/insurance1\?szs=000029&wssl=1[&\s] [NC] 
RewriteCond %{THE_REQUEST} !\s/+text/insurance2\?wssl=1&zst=enter[&\s] [NC]  
RewriteRule^https://www.new-domain.eu/? [R=301,L] 

はまた、既存のクエリ文字列を取り除くために、ターゲットで?末尾の使用を注意してください。

+1

これは動作します:)ありがとうございました。 – Nomeaning25

関連する問題