我有一个域domain.com并做了一个子域“forum.domain.com”。 我正在使用Apache2并添加一个A record到DNSlogging,并将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 。 forum.domain.com默认有.htaccess :
# 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
使用基于名称的虚拟主机
主人走开
如果要将虚拟主机添加到现有Web服务器,则还必须为现有主机创build一个块。 此虚拟主机中包含的ServerName和DocumentRoot应与全局ServerName和DocumentRoot相同。 首先在configuration文件中列出这个虚拟主机,以便它作为默认主机。
你需要两个虚拟主机,在你的例子中,这看起来像这样:
<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>