我对 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/_/
然后就可以享受符号链接的乐趣了:-)