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

Ошибка перенаправления поддомена Apache

Я только что купил домен vas.im, Я добавил правило DNS для vas.im и www.vas.im, затем я попытался заставить apache2 перенаправить последнее на первое. Я включил mod_rewrite, добавил /etc/apache2/httpd.conf, который следует, и перезапустил службу apache2.

ServerName localhost
AccessFileName .htaccess

# Redirect www to non-www
RewriteEngine On
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[url]www.vas.im[/url] [NC]
RewriteRule ^(.*)$ [vas.im...] [L,R=301]

Я, должно быть, совершил ошибку, поскольку домен www не перенаправляет. Я не претендую на то, что понимаю mod_rewrite, поэтому мне интересно, знает ли кто-нибудь здесь, в чем проблема.

Я бы посоветовал вам сделать это:

<VirtualHost *:80>
     ServerName www.vas.im
    #ServerAlias vas.net
    #add aliases if any
     RewriteEngine on
     RewriteCond %{HTTP_HOST} ^www\.vas\.im$ [NC]
     RewriteRule ^ http://vas.im/%{REQUEST_URI}%{QUERY_STRING} [L,QSA,R=301]
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /path/to/documentroot
    ServerName vas.im
    ErrorLog logs/your_log_file_name
    CustomLog logs/your_log_file_name common
</VirtualHost>

В качестве альтернативы вы можете изменить первый блок виртуального хоста на: Для этого метода вы должны использовать mod_alias's Redirect. Итак, убедитесь, что вы загрузили mod_alias модуль в вашем .conf файл.

<VirtualHost *:80>
     ServerName www.vas.im
    #ServerAlias vas.net
    #add aliases if any
     RedirectMatch 301 /(.*) http://vas.im/$1
</VirtualHost>