URLをwwwありに統一したかったので対応したメモです。
見出し
現状
1 2 3 4 |
<VirtualHost *:80> ServerName www.hoge.com ... </VirtualHost> |
Apacheへのアクセスで、リダイレクトしてwwwの有無を統一する
先ずこれをやってみたのですが、ServerNameにwww.hoge.comとしているので、hoge.comが中に入ってこれませんでした。
301リダイレクトを使った「WWWあり」と「WWWなし」の統一
これは.htaccess版ですが上と同じです。
www有りもwww無しも同じディレクトリを表示させるバーチャルホスト
http://www.kaasan.info/archives/1817
これ(ServerAlias)を試してみました。
1 2 3 4 5 6 7 |
<VirtualHost *:80> ServerName www.hoge.com ServerAlias hoge.com <span class="nb">RewriteEngine</span> <span class="k">on</span> <span class="nb">RewriteCond</span> %{HTTP_HOST} !^www\.hoge\.com$ <span class="nb">RewriteRule</span> ^/(.*) http://www.hoge.com/$1 [R=301,L] </VirtualHost> |
これでwwwあり統一化出来ました。
apacheの公式にも書いてました。
https://httpd.apache.org/docs/current/ja/vhosts/name-based.html
wwwなしに統一の場合
試せてませんがたぶんこう・・・?
1 2 3 4 5 6 7 |
<VirtualHost *:80> ServerName hoge.com ServerAlias www.hoge.com RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.hoge\.com$ RewriteRule ^/(.*) http://hoge.com/$1 [R=301,L] </VirtualHost> |