来自不同目录的虚拟主机的Apache httpd.conf设置
问题描述:
我有三个运行在云服务器上的网站,默认的Apache httpd.conf设置。我已经取消了NameVirtualHost的注释并从VirtualHost配置了3个网站,在为每个网站设置了DocumentRoot和ServerName后,所有这些网站都完美运行,但只有默认目录中的网站正在为用于SEO网址的mod重写工作。其他两个站点位于/ var/www/html上方一个级别,位于/ var/www/websites/site1,site2的子文件夹中。我试图在.htaccess文件中使用RewriteBase来完成这项工作,但没有成功,并且我不知道httpd.conf文件中的哪个地方可以进行任何更改以使事情正确。请帮忙,谢谢。来自不同目录的虚拟主机的Apache httpd.conf设置
答
如果我正确理解你,你希望有3个独立的网站在1台Apache服务器上运行,然后能够重写所有这些网站。
你在使用VirtualHosts的正确轨道上。你需要坚持使用一个单独的虚拟主机为你打算主办的每个网站。
给定一个文件夹结构如下
/var/www/
- /websites
-- /site1
-- /site2
-- /site3
然后,您可以设置3个VirtualHosts为每个3网站:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain1.tld
DocumentRoot /var/www/websites/site1
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain2.tld
DocumentRoot /var/www/websites/site2
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain2.tld
DocumentRoot /var/www/websites/site3
</VirtualHost>
希望这有助于。