2012-03-19 11 views
0

phusionの乗客を使ってwww.example.comでレールアプリをホストしています。私はexample.comをwww.example.comにリダイレクトするようApacheに指示したいと思います。標準的な方法は、2つの仮想ホスト設定を使用しているようです。私はこれをやっていますが、「リダイレクトが多すぎます」というエラーが発生しています。以下の私の設定です:Apache + Passenger non-www to www =>リダイレクトが多すぎる

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

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

感謝。私はPassenger 3.0.11、Apache2を使用しています。

答えて

2

.htaccessファイルで単一の仮想ホスト設定を使用します。あなたの/var/www/public/.htaccessファイルで次に

NameVirtualHost *:80 

<VirtualHost *:80> 
     ServerName www.mydomain.com 
     ServerAlias mydomain.com 
     DocumentRoot /var/www/public 
     <Directory /var/www/public> 
     AllowOverride all 
     Options Indexes FollowSymLinks MultiViews 
     </Directory> 
</VirtualHost> 

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