当我的网站位于/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
答案 0 :(得分:2)
遵循符号链接的指令不是mod_rewrite的一部分,而是Apache的核心
要启用此功能,您必须将 FollowSymLinks 添加到选项指令:
<Directory /usr/local/httpd/htdocs>
Options Indexes FollowSymLinks
</Directory>