apache :: wwwなしURLを、wwwありURLにリダイレクトさせる(URL正規化)

wwwなしURLを、wwwありURLにリダイレクトさせる

.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

上の逆

.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]


www 以外は、すべて www にリダイレクト

.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

test と www 以外は、すべて www にリダイレクト

.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} !^test\.example\.com
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]


サブドメイン無しは www にリダイレクト。それ以外は Forbidden を表示。

.htaccess
RewriteEngine on

# www.example.com: 何もしない
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule ^.*$ - [L]

# example.com: www.example.com に 301リダイレクト
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

# 上記2パターン以外: forbidden を表示
RewriteRule ^.*$ - [F,L]