链接到Web根目录之外的项目

这里是目录如何布局在我的服务器上(我inheritance了这一点,目前不能改变) –

/var/www/<stuff for the web> /home/project/src/static/<some CSS, some JavaScript, etc.> 

在不希望在不同的目录中有重复的文件的macros伟计划,我试图包括这样的一些文件 –

 <link rel="stylesheet" href="/home/project/src/static/css/<file>.css" type="text/css" /> <script src="/home/project/src/static/lib/<file>.js" type="text/javascript"></script> 

我试图以这种方式包含每个文件,我得到一个404错误。 我已经修改了“home”目录的path,尝试从/var/www/ to /home/通过将..添加到pathstring的开头,但没有喜悦。

然后,在确认安装了mod_alias之后,我开始为我的configuration文件添加一个path别名指令:

 Alias /home/project/src/static/ /home/project/src/static/ <Directory /home/project/src/static/> Order allow,deny Allow from all </Directory> 

重新启动Apache,但仍然没有运气。 我试过这个,没有结尾的斜线。

我已经确认的另一件事是, open_basedir没有在php.ini中设置,据我所知,它设置可以产生问题,当试图访问Web根外的文件。

我可以做些什么来使这些文件可以从网站的根目录复制目录,并将其放在网站的根文件夹?

两个选项…一个是正确使用别名 …第一个path是相对于Web目录,就像在浏览器中有http://yoursite/static ,你可以使用:

 Alias /static/ /home/project/src/static/ 

或者,如果你不喜欢这个,而宁愿通过改变文件系统heirarchy来解决它,使用绑定安装。

 mkdir /var/www/static/ 

然后在fstab:

 /home/project/src/static/ /var/www/static/ bind defaults 0 0 

并应用更改:

 mount -a 

或一次安装:

 mount --bind /home/project/src/static/ /var/www/static/ 

绑定挂载并不总是最好或最简单的select…有趣的事情可能发生,例如。 运行rm -rf /var/www/* ,你的/home/project/src/static/*也会被删除。