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

Проблемы с VirtualHosts

На одной машине я установил два сайта WordPress, используя подходящие настройки, как показано ниже, для каждого из сайтов apache, у меня есть отдельная конфигурация для каждого домена:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www_domain1

        <Directory /var/www_domain1/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ServerName domain1.com
        ServerAlias www.domain1.com

        ErrorLog /var/log/apache2/error_domain1.log
        CustomLog /var/log/apache2/access_domain1.log combined
</VirtualHost>

и .htaccess в папке назначения

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
order deny,allow

<Files wp-config.php>
  order allow,deny
  deny from all
</Files>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

и у меня две проблемы:

Перенаправление не вызывается установкой имени сервера и псевдонима, а больше похоже на "UseCanonicalName On" ... оно должно быть отключено.

И вторая проблема, вы должны добавить «NameVirtualHost *» в основной файл конфигурации (зависит от платформы / дистрибутива, который вы используете). Поместите здесь *, а не IP-адрес, поскольку * в определениях вашего виртуального хоста тоже есть.

«Перенаправление» вызывается установкой имени сервера «domain1.com» с псевдонимом «www.domain1.com». Это заставляет Apache обрабатывать все ссылки на «www.domain1.com», как если бы они ссылались на «domain1.com». Если вам не нужно такое поведение, не создавайте псевдоним.

Похоже, вам может не хватать директивы NameVirtualHost xxx.xxx.xxx.xxx в вашем основном файле httpd.conf, чтобы сообщить Apache о необходимости использования виртуальных хостов на основе имен, что объясняет, почему запросы для обоих виртуальных хостов направляются на настроен первый виртуальный хост.