【メモ】 Apacheの設定で「wwwあり」と「wwwなし」を統一する

かなりBasicな話なのですけど、設定ミスでアクセス出来ない事例が生じてたのでメモとして。


Apacheの設定で「wwwあり」と「wwwなし」を統一するには、VirtualHostを使うと楽です。


「wwwあり」→「wwwなし」


ServerName www.example.com
Redirect permanent / http://example.com/

「wwwなし」→「wwwあり」


ServerName example.com
Redirect permanent / http://www.example.com/


このサイトでは「wwwなし」に統一しているので上のパターンですね。
以下のような転送が行われています。




転送時のステータスは「301 Moved Permanently」です。



注意

この用途に使う場合、転送先のURLの最後には「/」が必要です。
誤って以下のように設定していたため、間違って転送されていました。

誤った設定


ServerName www.nplll.com
Redirect permanent / https://nplll.com

誤った設定による転送結果

  • https://www.nplll.com/archives/category/mutter/ → https://nplll.comarchives/category/mutter/


もちろん、404 Not Found。あれま。


正しい設定


ServerName www.nplll.com
Redirect permanent / https://nplll.com/