RewriteRuleの条件を設定
.htaccess にてリダイレクトの設定
■内容
【www.XXX.info】ドメインか、【XXX.info】ドメインでアクセスした場合、
全て【http://XXX.info】に遷移する
※画像なども含めて表示
■修正箇所
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.XXX\.info)(:80)? [OR,NC]
RewriteCond %{HTTP_HOST} ^XXX\.info [NC]
RewriteCond %{REQUEST_URI} !(^/$)
RewriteCond %{REQUEST_URI} !(^/image/)
RewriteRule ^(.*) http://XXX.info [R=301,L]
※最終行は必ず改行
■修正の意味
#URLの書き換え開始
RewriteEngine on
#80ポートの指定有無関係なく転送元ドメイン、またはからアクセスがあった場合は、転送ドメインに遷移
RewriteCond %{HTTP_HOST} ^(www\.【転送元ドメイン】\.info)(:80)? [OR,NC]
RewriteCond %{HTTP_HOST} ^【転送元ドメイン】[NC]
#無限ループさせないように「トップページではない場合」
RewriteCond %{REQUEST_URI} !(^/$)
#一部のディレクトリを許可したい場合
※「image」ディレクトリを許可する場合
RewriteCond %{REQUEST_URI} !(^/image/)
RewriteRule ^(.*) 【転送先ドメイン】 [R=301,L]
■その他詳細
・[NC]・・・RewriteCondの大文字小文字を関係なしを条件とするオプション
※([]で記載されるものは、全てオプション)
・[OR]・・・ いずれかのRewriteCondにあてはまる場合に適用
※[OR]を明示しない場合、自動でANDになる。
※[OR, NC]とスペースをするとエラーになるため不要
・「RewriteRule A B 」・・・ユーザーからリクエストのあったURLが「A」の場合、「B」のURLへリダイレクトされる
・^(.*)・・・”任意文字の連続” の正規表現
・[R=301,L]・・・301へリダイレクトした場合、それ以降処理なし
※[R]は、RedirectのRで、301を指定しない場合(「R」のみの場合)は、302リダイレクトになる
※[L]は、LastのLで、RewriteRuleの条件にマッチした場合、以降のRewriteRuleを処理しない
・%{HTTP_HOST}・・・ホストを限定してるのは、開発環境で無効化するため
このブログへのコメントは muragonにログインするか、
SNSアカウントを使用してください。