我有一个Centosnetworking服务器build立了2个网站。 最初它只有一个网站,虚拟主机configuration被添加到httpd.conf文件的末尾。 不是最好的做法,但我知道它工作正常,看起来如下。
<VirtualHost *:80> ServerName www.example.com ServerAlias example.com #ServerAdmin [email protected] DocumentRoot /var/www/html/example/ ErrorLog /var/log/httpd/example_error.log CustomLog /var/log/httpd/example_access.log combined #loglevel warn <Directory /> #Options Indexes FollowSymLinks #AllowOverride None #Require all granted Options Indexes FollowSymLinks MultiViews Allowoverride All Order allow,deny allow from all </Directory>
添加了第二个开发网站,它是第一个开发网站的副本,在httpd.conf文件中的第一个虚拟主机的下方创build了虚拟主机,如下所示:
<VirtualHost *:80> ServerName dev.example.com ServerAlias dev.example.com DocumentRoot /var/www/dev.example.com/html #ErrorLog /var/log/httpd/dev.example.com/error.log #CustomLog /var/log/httpd/dev.example.com/requests.log combined <Directory /> #Options Indexes FollowSymLinks #AllowOverride None #Require all granted Options Indexes FollowSymLinks MultiViews Allowoverride All Order allow,deny allow from all </Directory>
第二个虚拟主机configuration肯定被读取,因为它显示dev的网站,但目录指令似乎被忽略。
我也试过使第二个目录path显式即ie
<Directory /var/www/dev.example.com/html>
然而它又被忽略了。
我在第二个网站,将允许目录指令被读取的设置丢失的东西吗?
目录/指的是服务器的根目录。 尝试位置/来引用特定于虚拟主机的URL。
感谢上面提供的信息。 它扔我一个网站工作,一个不是当configuration文件没有正确设置。 我会假设这两个网站都不行。
使目录path显式即
<Directory /var/www/dev.website1.com/html>
让allowoverride全部到位。
另外,当一个网站正在工作,另一个不是它,直到两个网站目录指令设置了一个明确的path,它开始工作。