FollowSymLinks错误 "Not allowed here"

4

我已经找了4个小时,但似乎找不到解决我们问题的方法。

我们遇到的问题
我们有一个运行Virtualmin 3.99.gplCentOS Linux 6.4服务器。我们有一个Drupal网站想要迁移到这个服务器上,并且由于它是多域名网站,所以我们必须使用FollowSymLinks。因为(据我所知)一些安全漏洞涉及此指令而被禁用。从那时起,您必须使用SymLinksIfOwnerMatch。现在,Drupal在系统深处隐藏了很多.htaccess文件,因为我不确定新方法将如何受到支持,所以我想请一些专家对我的同事提出的解决方案发表意见。

提议的解决方案
我的同事告诉我,如果我编写一个简单的shell脚本来编辑领域根目录中的所有.htaccess文件,将全部的FollowSymlinks替换为SymLinksIfOwnerMatch,那么它可能会起作用。因为我不确定这是否能解决这个问题,所以我想请您对此发表意见。

我们尝试过的解决方案
我们尝试修复Apache的配置文件以允许FollowSymLinks,但这并没有起作用。此外,我们还尝试更改Webmin中的全局配置,但Webmin忽略了这些编辑(如果有解决方法将是很好的!)。删除根目录中的.htaccess行可以解决问题,但这不是我们想要使用的解决方案。

还有其他解决方案、修复或解决方法吗?


仅为澄清,您是指“多站点”还是您的CentOS正在运行Apache虚拟主机(以支持多个域名)?这里有详尽的多站点设置文档[链接]。我已经设置了Drupal 6 MS,没有必要对Apache符号链接配置执行任何特殊操作。 - Screenack
这是一个多站点设置,通过将域名指针设置到该目录来运行。 - jeroenvisser101
好的,那么我链接的文件将为您设置好。虽然我从未必须为子站点自定义htaccess文件,但是这个文件应该足够了。 - Screenack
2个回答

2

针对这个问题,我提出的解决方案在我的情况下“顺利运作”。


1
这不是一个答案。 - Joel G Mathew

0
如果您在 Laravel(8)应用程序的公共目录中看到 .htaccess 文件中的描述,则会显示以下内容:
# (3) If your web host doesn't allow the `FollowSymlinks` option,
#     you need to comment it out or remove it, and then uncomment
#     the `Options +SymLinksIfOwnerMatch` line (4), but be aware
#     of the performance impact.

所以我刚刚注释掉了#2,并取消注释了#3,就这样!

之前:

# (2)
Options +FollowSymlinks

# (3)
# Options +SymLinksIfOwnerMatch

之后:

# (2)
# Options +FollowSymlinks

# (3)
Options +SymLinksIfOwnerMatch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接