林新的Apacheconfiguration,将非常高兴,如果有人帮助我以下。我运行在一个虚拟的私人服务器上的Apache,运行debian操作系统。
在/ etc / apache2 / sites-available中,我定义了两个虚拟主机site1.com.conf和site2.com.conf。 在/ etc / apache2 /网站启用,我有一个符号连接到site1.com.conf。 虚拟主机定义如下:
site1.com.conf
<VirtualHost *:80> ServerAdmin [email protected] ServerName site1.com ServerAlias www.site1.com site1.com DirectoryIndex index.html index.htm index.php DocumentRoot /var/www/site1 <Directory /var/www/site1> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> LogLevel warn ErrorLog /var/log/apache2/site1_error.log CustomLog /var/log/apache2/site1_access.log combined ServerSignature Off </VirtualHost>
site2.com.conf
<VirtualHost *:80> ServerAdmin hostmaster@wharfage ServerName site2.com ServerAlias www.site2.com site2.com DirectoryIndex index.html index.htm index.php DocumentRoot /var/www LogLevel debug ErrorLog /var/log/apache2/site2_error.log CustomLog /var/log/apache2/site2_access.log combined ServerSignature Off <Location /> Options -Indexes </Location> Alias /favicon.ico /srv/site2/static/favicon.ico Alias /static /srv/site2/static # Alias /media /usr/local/lib/python2.5/site-packages/django/contrib/admin/media Alias /admin/media /var/lib/python-support/python2.5/django/contrib/admin/media WSGIScriptAlias / /srv/site2/wsgi/django.wsgi WSGIDaemonProcess site2 user=samj group=samj processes=1 threads=10 WSGIProcessGroup site2 </VirtualHost>
然而,一件奇怪的事情正在发生。 我能够按预期导航到www.site1.com。 它将内容加载到我在site1.com.conf中定义为DocumentRoot的/ var / www / site中。 但是,如果我导航到www.site2.com,而不是加载/ var / www中定义的index.html,它定义为site2.com.conf的DocumentRoot,如上所示,它将内容加载到/ var /networking/站点1。 地址栏中的url仍然是www.site2.com。 所以,我有以下两个问题:
Q.1)为什么当DocumentRoot被定义为/ var / www时,www.site2.com显示/ var / www / site1的内容?
Q.2)由于site2.com.conf在启用网站时没有符号链接,所以如何能够导航到www.site2.com?
对不起,如果我的问题听起来不太好,但如果有人能解释这一点,生病真的很开心。
谢谢。
不要紧,你用什么地址。 如果IP地址相同,则可以使用site3.com并仍然访问site1。 第一个VirtualHost将为所有不匹配任何ServerName或ServerAlias主机名提供服务。 您需要符号链接site2.com.conf文件(或使用a2ensite )才能访问它。