Я установил 2 файла виртуального хоста домена в / etc / apache2 / sites-available,
www.example.com.conf
example.com.conf
кроме конфигураций по умолчанию. Я пытался создать перенаправление с example.com на www.example.com, но, похоже, это не работает, я не знаю, где я ошибаюсь.
В www.example.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.example.com
DocumentRoot /var/www/project
</VirtualHost>
В example.com.conf
<VirtualHost *:80>
ServerName example.com
ServerAdmin admin@mailzak.com
DocumentRoot /var/www
Redirect / http://www.example.com/
</VirtualHost>
После их добавления я настроил «a2ensite» и перезапустил Apache. Но перенаправление не работает.
При условии, что www является каноническим псевдонимом голого домена, вам действительно не нужны два файла .conf.
Вам нужен только один файл .conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/project
</VirtualHost>
Что можно активировать с помощью a2ensite example.com
.
Затем создайте файл .htaccess в / var / www / project.
Options +FollowSymLinks -Multiviews
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]