ServerAlias - リクエストを ServerName にリダイレクトし、リクエスト内のサブディレクトリに従うにはどうすればよいでしょうか?

ServerAlias - リクエストを ServerName にリダイレクトし、リクエスト内のサブディレクトリに従うにはどうすればよいでしょうか?

すべてのトラフィックをリダイレクトしexample.com/*たいwww.example.com/*

私は見つけたServerAlias をそれぞれの ServerName にリダイレクトするにはどうすればよいですか?これは問題のトピックを扱っており、回答で推奨されていたことを 4 つの賛成票を得て実行しました。

RewriteEngine On
RewriteCond %{HTTP_HOST}  !^www.example.com [nocase]
RewriteRule ^(.*)$        http://www.example.com$1 [last,redirect=301]

しかし、このリダイレクトトラフィックhttp://example.com/subdirectoryhttp://www.example.comない希望にhttp://www.example.com/subdirectory応じて。

この問題に対する薬はありますか?

答え1

これを行う正しい方法は、新しい vhost を作成し、そこにリダイレクトすることです。

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

<VirtualHost *:80>
  ServerName www.example.com
  DocumentRoot /var/www/something
</VirtualHost>

関連情報