如何在 apache 中定义多个文档根

如何在 apache 中定义多个文档根

我对 PHP 文件中的所有链接使用根相对路径,例如“url(/img/myimj.jpg)”

在Godaddy主机服务器上,一切运行正常。

但我想在本地主机上运行它。(Ubuntu 9,Apache 2,PHP 5)

例如,我的网站存储在 var/www/siteone 中,另一个网站存储在 var/www/sitetwo 中,

并将根目录设置为“var/www”。

现在的问题是 href="/" 不是链接到 var/www/siteone,而是 var/www/。

有没有办法为不同的站点定义不同的文档根?

我只是网络开发的初学者,不确定虚拟主机是否可以做到这一点。

有人可以解释一下吗?

谢谢您的回答。

我需要将新的 vitualhost 添加到此文件 /etc/apache2/sites-available/default

但我仍然很困惑,对于 localhost 该怎么办?默认 IP 和端口始终是 127.0.0.1:80

答案1

每个<VirtualHost>部分可以有自己的DocumentRoot指令。

答案2

我个人使用了很多 VirtualDocumentRoot :
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#virtualdocumentroot

使用此指令,您可以执行以下操作:

VirtualDocumentRoot /var/www/%-2/%-3/

%-2 是“右边第二项”,因此它是 exemple.com 中的 exemple
%-3 是右边第三项,因此它是 foo.exemple.com 中的 foo

然后你只需要创建与你的主机名匹配的文件夹:
localhost / 将是:

/var/www/localhost/_/

注意 _ 那里没有值(我总是创建一个像 _ -> www 这样的符号链接)

因此
www.site1.com 将是 /var/www/site1/www/
www.site2.com 将是 /var/www/site2/www/
localhost 将是 /var/www/localhost/_/

然后就可以享受符号链接的乐趣了:-)

相关内容