1. ホーム
  2. apache

[解決済み】apacheの非wwwからwwwへのリダイレクト

2022-04-07 15:56:43

質問

私は非wwwからwwwにリダイレクトされないようなウェブサイトを持っています。

私のApacheの設定は以下の通りです。

RewriteEngine On
### re-direct to www
RewriteCond %{http_host} !^www.example.com [nc]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 

何が足りないのか?

解決方法は?

リライト・エンジンを使うのは、この問題を解決するためのかなりヘビーな方法です。ここでは、よりシンプルな解決策を紹介します。

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    # real server configuration
</VirtualHost>

そして、もうひとつの <VirtualHost> セクションで ServerName www.example.com を実際のサーバーの設定に使用します。の後にあるものは Apache が自動的に保存します。 / を使用する場合 Redirect ディレクティブ というのは、この方法がうまくいかない理由についての一般的な誤解です(実際にはうまくいきますが)。