2014-07-01 3 views
0

Я пытаюсь перенаправить мой сайт domain.com на www.domain.com на моем новом сервере, но он не работает. Я пробовал с виртуальным хостом и .htaccess без succes .. У вас есть какие-либо идеи, в чем проблема?Перенаправление веб-сайта witout www на www не работает

Мой хозяин

<VirtualHost *:80> 
ServerName www.domain.com 

    DocumentRoot /var/www/domain 

    <Directory "/var/www/domain"> 
     Options -Indexes MultiViews 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
     Options +FollowSymlinks 
     RewriteEngine On 
     RewriteBase/
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_FILENAME} !-l 
     RewriteRule .* index.php 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/domain-error.log 


</VirtualHost> 

<VirtualHost *:80> 
ServerName domain.com 

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^domain.com [NC] 
RewriteRule ^/(.*)$ http://www.domain.com/$1 [L,R=301] 
RewriteRule ^(.*)index.(htm|html|php|asp)$ /$1 [R=301,L] 
</VirtualHost> 
+1

«Это не работает» - заботиться о том, чтобы разработать? –

+0

'RewriteRule ^/(. *) $ Http: // www.domain.com/$ 1' Ваш домен ** domain.com **? – Popnoodles

+0

@Whathaveyoutried Я думаю, что в этом редком случае «не работает» в контексте предложения, в котором он находится, объясняет проблему. – Popnoodles

ответ

0

Если это Apache 2.2, вам нужно иметь NameVirtualHost директиву для IP-адреса этого сайта для того, чтобы оба блока VirtualHost, чтобы быть в использовании.

В противном случае Apache выберет первый, который соответствует IP-адресу и порту, игнорирует строки ServerName и ServerAlias ​​(это же происходит, если ни одно имя ServerName или ServerAlias ​​не соответствует запросу).

This directive is no longer necessary in Apache 2.4, однако, если вы используете это, пожалуйста, проигнорируйте этот ответ.

В качестве альтернативы, поскольку вы уже переписываете домен уже HTTP_HOST, вы можете переместить его в тот же блок VirtualHost, что и остальные ваши правила и контент. Обязательно поставьте его перед другими правилами, которые управляют URL.

Смежные вопросы