有没有办法快速/轻松地创建现有网站文件夹的符号链接?

时间:2012-04-10 05:40:56

标签: html apache symlink

说明

当我的网站位于/var/www/时,我经常遇到这个问题,这个网站变得太大了,并且决定将基本上全部的网站移动到/var/www/main_files。简单地将符号链接/var/www/index.html指向/var/www/main_files/index.html不起作用。我认为它不起作用的原因是因为index.html文件仍然在符号链接(/var/www)的目录中“执行”。因此,任何需要包含/获取的文件都将不再具有正确的路径。

可以将VHost目录更改为/var/www/main_files,但这太永久了。我可能仍希望在/var/www中包含一些文件。我也可以通过手动更改实际html / php / js文件中的任何文件路径,但这不仅太永久,而且速度非常慢。

问题:

有没有办法,缺少使用mod_rewrite(再次,太永久),指示Apache遵循符号链接(假设符号链接都在docroot内),当用户转到 www.example时.com / index.html ,加载网页就好像用户已经访问 www.example.com/main_files/index.html 一样?如果没有,那么我应该考虑哪些其他选择?

动机:

当我想调试网站时,我经常遇到这个问题,我会快速下载一个免费模板(即download this one)。这些模板中的大多数都将其所有文件都放在顶层文件夹中,将所有文件全部转储到/var/www非常麻烦,特别是对于多个模板。我想要的是为模板制作一个子文件夹,但仍然可以从 www.example.com/index.html 加载它,而不是明确地从 www.example.com/template1加载/index.html

1 个答案:

答案 0 :(得分:2)

遵循符号链接的指令不是mod_rewrite的一部分,而是Apache的核心

要启用此功能,您必须将 FollowSymLinks 添加到选项指令:

  <Directory /usr/local/httpd/htdocs>
    Options Indexes FollowSymLinks
  </Directory>

请参阅http://httpd.apache.org/docs/2.2/mod/core.html指令。

相关问题