【htaccess】wwwありからwwwなしにリダイレクトさせる

ドメインのwwwありを無しに統一したい場合は、以下をhtaccessに記載します。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=302,L]

1行目でリライトを有効にしています。
2行目でhostがwwwありか判定しています。
(.+)はwww.以降の文字列をキャプチャしています。
3行目でリダイレクトのルールを記載してwwwなしでリダイレクトさせています。
%1は2行目でキャプチャしたwww.以降の文字列が入ります。
$1はリクエストされたURLのパスが入ります。
R=302は一時的なリダイレクトであることを示しています
Lはこのルールが最後であることを示しています。
このコードを.htaccessに記載することで、wwwありのURLにアクセスした場合に自動的にwwwなしのURLにリダイレクトされるようになります。

例えば、www.example.comにアクセスすると、自動的にexample.comにリダイレクトされます。

●wwwなしをwwwありにリダイレクト

↑の逆ですが、否定形だとキャプチャが使えないので以下のようになります。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=302,L]

コメント