我在云服务器上运行了3个网站,默认使用Apache httpd.conf设置。我已经取消注释NameVirtualHost并从VirtualHost配置了3个网站,在为每个网站设置了DocumentRoot和ServerName之后,所有网站都运行良好,但只有默认目录中的网站正在用于mod-rewrite,我用于SEO网址。其他2个站点位于/ var / www / html上方一个级别,位于/ var / www / websites / site1,site2的子文件夹中。我曾尝试在.htaccess文件中使用RewriteBase来完成这项工作但没有成功,我不知道在httpd.conf文件中我可以进行任何更改以使事情正确。请帮助,谢谢。
答案 0 :(得分:0)
如果我理解正确,你希望在1台Apache服务器上运行3个独立的网站,然后能够重写所有这些网站。
您使用VirtualHosts走在正确的轨道上。您需要坚持为要托管的每个网站使用单独的VirtualHost。
给定文件夹结构如下
/var/www/
- /websites
-- /site1
-- /site2
-- /site3
然后,您可以为3个站点中的每个站点设置3个VirtualHost:
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>
希望这有帮助。