2011-06-24 45 views
0

我的本地服务器的根目录是/ Users/myname/Sites,并且所有web项目都在该目录中的独立目录中。 /用户/ myname /站点/新项目如何定义虚拟根目录?

我得到的问题是我有一个网站,其中所有的HTML路径开始写斜杠例如<a href="/dir/file.txt">,这使得浏览器查找文件file.txt在/用户/ myname/Sites /而不是位于文件所在的/ Users/myname/Sites/newproject中。

而不是编辑的每一个文件的路径或者删除开始削减或把在,如果有一些简单的方法来宽做这个网站,我想知道开始的PHP变量?

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

我已经尝试设置的DocumentRoot在.htaccess

我试过$ _ SERVER [ 'DOCUMENT_ROOT']设置为$ _ SERVER [ 'DOCUMENT_ROOT']尝试。 “/新项目”;

不幸的是,这些似乎没有工作。

+0

如果你想有SEO URL和那种东西,检查http://www.codeigniter.com – Herr

+1

我认为这会更适合于http://webmasters.stackexchange.com/或http:// serverfault.com/ – oezi

回答

2

你想设置一个虚拟主机(如果你使用Apache)来指定/ URL应该映射到/用户/ myname /网站/ 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> 

注意,当你这样做,你基本上是“设置文档根目录是你newproject文件夹“,它会隐藏”站点“文件夹中的其他所有内容。

如果这不是你在说什么,请让我知道这样我就可以改变我的答案。

+0

我想知道是否有一种方法可以在/ newproject目录内完成它,因此它只会影响该站点。理想情况下,我可以将其纳入开发目的。 – user813720

+0

[虚拟主机示例](http://httpd.apache.org/docs/2.0/vhosts/examples.html)我不认为有一种方法可以专门为单个目录执行此操作,除非使用a。 htaccess文件与重写规则,但这将是hacky和凌乱,即使如此,我不知道它有可能做到这一点。 – alxbl

+0

看起来像虚拟主机是要走的路。谢谢,我会得到这个设置。 – user813720