Apache + Passenger без www на www => слишком много редиректов

Я использую пассажира phusion для размещения приложения rails на www.example.com. Я хочу сказать apache перенаправить example.com на www.example.com. Стандартным способом кажется использование двух конфигураций виртуального хоста. Я делаю это, но получаю ошибку "слишком много перенаправлений". Ниже приведен мой конфиг:

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

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

Спасибо. Я использую Пассажир 3.0.11, Apache2.


person deruse    schedule 19.03.2012    source источник


Ответы (1)


Мы используем единую конфигурацию виртуального хоста с файлом .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>

Затем в вашем файле /var/www/public/.htaccess

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