如何定义虚拟根?

时间:2011-06-24 08:48:25

标签: php javascript html .htaccess

我的本​​地服务器的根目录是/ Users / myname / Sites,并且所有Web项目都在单独的目录中,例如/用户/ MYNAME /站点/ newproject

我遇到的问题是我有一个网站,其中所有html路径都以斜线开头,例如<a href="/dir/file.txt">,这使浏览器在/ Users / myname / Sites中查找文件file.txt /而不是文件所在的/ Users / myname / Sites / newproject。

而不是编辑每个文件路径以删除开始斜杠或在开始时放入php变量,我想知道是否有一些简单的方法来做这个网站?

我尝试过使用<base href="http://localhost/newproject" />

我尝试在.htaccess中设置DocumentRoot

我尝试将$ _SERVER ['DOCUMENT_ROOT']设置为$ _SERVER ['DOCUMENT_ROOT']。“/ newproject”;

不幸的是,这些似乎都不起作用。

2 个答案:

答案 0 :(得分:2)

您想要设置虚拟主机(如果您使用的是apache)来指定/ url应映射到 / User / myname / Sites / newproject

你会这样做(编辑httpd.conf或在conf.d中放置一个文件):

# Listen for virtual host requests on all IP addresses, port 80
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /User/myname/Sites/newproject
ServerName localhost

</VirtualHost>

请注意,执行此操作时,您实质上是“将文档根目录设置为新项目文件夹”,这将隐藏“站点”文件夹中的所有其他内容。

如果这不是您所说的,请告诉我,以便我可以修改我的答案。

答案 1 :(得分:1)

您可以尝试设置virtual host。假设您的文件夹结构是Mac OS X,请尝试:

http://mark-kirby.co.uk/2008/setting-up-virtual-hosts-on-os-x-leopard