Назад | Перейти на главную страницу

Перенаправление с www.domain.com на http://domain.com в apache без .htaccess?

На моем старом хосте при добавлении домена я мог выбрать, хочу ли я http://www.domain, http://domainили оба (если, например, я выбрал www.domain, он перенаправит http://domaiп к http://www.com.)

это возможно без редактирования .htaccess? как в vosts.conf?

также, если делать это через .htaccess, какой метод лучше?

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

? Я читал, что без первой строки браузеры http / 1.0 не будут работать (поскольку они не включают хост в заголовок)

Если вы ничего не делаете с SSL, вы также сможете использовать виртуальные хосты на основе имен для перенаправления. Один виртуальный хост будет желаемым, а другой будет вашим перенаправлением.

<VirtualHost XXX.XXX.XXX.XXX>
ServerName old.com
ServerAlias www.old.com
Redirect permanent / http://www.new.com/
</VirtualHost>


<VirtualHost XXX.XXX.XXX.XXX>
ServerName www.new.com
<Directory /var/www/www.new.com>

</Directory>
</VirtualHost>

См. № 6 на следующем сайте: http://www.yolinux.com/TUTORIALS/ApacheRedirect.html

Все, что вы можете поместить в .htaccess, вы также можете поместить в <Directory/> раздел в конфигурации VirtualHost для сайта, который вы пытаетесь изменить - .htaccess - это просто ярлык для этого.

Например, вы можете расширить директиву Virtualhost следующим образом:

<VirtualHost x.x.x.x:80>
    ServerName something.com
    ErrorLog logs/something.com-error.log
    ###### Add the 5 lines below....  ######
    <Directory /var/www/something.com/html>
        RewriteCond %{HTTP_HOST} .
        RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
        RewriteRule (.*) http://www.example.com/$1 [R=301,L]
    </Directory>
</VirtualHost>

Как вы упомянули "vhost.conf", я предполагаю, что вы используете сервер Plesk, и в этом случае вы можете просто добавить <Directory/> раздел на vhost.conf (не забудьте исправить путь к каталогу httpdocs вашего сайта.

Не забудьте бежать /usr/local/psa/admin/bin/websrvmng -a после этого и перезапустите Apache.