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

Основной домен перенаправляется на субдомен

У меня есть домен domain.com и сделал один поддомен forum.domain.com. я использую Apache2 и добавил один A record в записи DNS и сделал virtualNameServer так как:

<VirtualHost *:80>
   ServerName forum.domain.com
   DocumentRoot /var/www/vanilla
   <Directory /var/www/vanilla>
      # This relaxes Apache security settings.
      AllowOverride all
      # MultiViews must be turned off.
      Options -MultiViews
      allow from all
   </Directory>

   ErrorLog "|/usr/sbin/rotatelogs /etc/httpd/logs/vanilla-error.%Y-%m-%d.log 86400"
   CustomLog "|/usr/sbin/rotatelogs /etc/httpd/logs/vanilla-access.%Y-%m-%d.log 86400" "%h %l %u %t %D \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

</VirtualHost>

В поддомене я установил Vanilla Forum Software. Но теперь проблема в том, что всякий раз, когда я иду в http://domain.com или http://www.domain.com, это идет в http://forum.domain.com. Там есть .htaccess по умолчанию в forum.domain.com:

# Original
# If you modify this file then change the above line to: # Modified
<IfModule mod_rewrite.c>
   RewriteEngine On
   # Certain hosts may require the following line.
   # If vanilla is in a subfolder then you need to specify it after the /. 
   # (ex. You put Vanilla in /forum so change the next line to: RewriteBase /forum)
   # RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ index.php\?p=$1 [QSA,L]
</IfModule>

Пожалуйста помоги. Заранее спасибо.

http://httpd.apache.org/docs/2.2/vhosts/name-based.html

Использование виртуальных хостов на основе имен

Главный хозяин уходит

Если вы добавляете виртуальные хосты к существующему веб-серверу, вы также должны создать блок для существующего хоста. ServerName и DocumentRoot, включенные в этот виртуальный хост, должны быть такими же, как глобальные ServerName и DocumentRoot. Сначала укажите этот виртуальный хост в файле конфигурации, чтобы он действовал как хост по умолчанию.

Вам нужно два виртуальных хоста, в вашем примере это будет выглядеть так:

<VirtualHost *:80>
   ServerName forum.domain.com
   DocumentRoot /var/www/vanilla
   <Directory /var/www/vanilla>
      # This relaxes Apache security settings.
      AllowOverride all
      # MultiViews must be turned off.
      Options -MultiViews
      allow from all
   </Directory>

   ErrorLog "|/usr/sbin/rotatelogs /etc/httpd/logs/vanilla-error.%Y-%m-%d.log 86400"
   CustomLog "|/usr/sbin/rotatelogs /etc/httpd/logs/vanilla-access.%Y-%m-%d.log 86400" "%h %l %u %t %D \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

</VirtualHost>

<VirtualHost *:80>
   ServerName domain.com
   DocumentRoot /var/www/main

   ErrorLog "|/usr/sbin/rotatelogs /etc/httpd/logs/domain-error.%Y-%m-%d.log 86400"
   CustomLog "|/usr/sbin/rotatelogs /etc/httpd/logs/domain-access.%Y-%m-%d.log 86400" "%h %l %u %t %D \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

</VirtualHost>