Я только что купил домен 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>