Www.domain.comまたはdomain.comをwww.domain.com/temp.htmlにリダイレクトしようとしています
私は次のコードを使用しています:
RewriteCond %{HTTP_Host} ^.*$
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/temp\.html" [R=301,L]
動作しますが、IPをリダイレクトしたくありません。だから誰かがドメインの静的IPを入力した場合、www.domain.com/temp.htmlにリダイレクトされたくない
誰でもこれを処理するコードを持っていますか?
HTTP_Host条件を変更することにより、その除外を行うことができます。
RewriteCond %{HTTP_Host} !^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/temp\.html" [R=301,L]
または他の方法:
RewriteCond %{HTTP_Host} ^(www\.)?domain\.com$ [NC]
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/temp\.html" [R=301,L]
RewriteCond %{HTTP_Host} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]
すべてに一致する^。* $を使用しないでください。さらに、リダイレクトループが発生する可能性があります。
これを使用できます。ファイルにドメイン名自体を入力しなくても機能するため、どのプロジェクトでも使用できます。
RewriteCond %{HTTP_Host} !^www\. [NC] [or]
RewriteCond %{HTTP_Host} !^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
RewriteRule .? http://www.%{HTTP_Host}%{REQUEST_URI} [R=301,L]