我的本地主机服务器上的隐藏目录(与 htaccess 相关)

Posted

技术标签:

【中文标题】我的本地主机服务器上的隐藏目录(与 htaccess 相关)【英文标题】:Hidden Directories on My Localhost Server (Related to htaccess) 【发布时间】:2012-05-25 15:46:18 【问题描述】:

我发现本地主机上的某些目录在包含具有以下代码行的 htaccess 文件时会消失(或隐藏):

Options +FollowSymLinks

只要我注释掉该行,保存文件并刷新我的浏览器 - 目录会重新出现。 我在我的 Mac OS 10.6.8 上运行 XAMPP 服务器 - 不确定这里还有哪些其他信息会有所帮助。我已经注释掉并取消了文件中所有其他代码行的注释,它们不会影响这种情况。

感谢任何帮助。谢谢。

【问题讨论】:

该目录是否是指向真实目录的链接(即 ln -s /var/www/realdir ./weirddir )? @JScoobyCed 是的,该命令返回“文件存在” 【参考方案1】:

我的一个朋友帮我弄清楚了这一点,我会在这里为未来的搜索者发帖。

问题是 AllowOverride 在不同的地方被设置为不同的东西 - 它在 httpd.conf 中设置为 All(正确)但在该文件中 http-userdir.conf 被包含在该文件中,AllowOverride不包括Options

所以 Apache 看到了 htaccess 命令中的选项并隐藏了整个目录 - 以惩罚我做一些我不允许做的事情。

如果您遇到同样的情况 - 请在此处查看日志:

xamppfiles/logs/error_log

日志准确地说明了发生了什么以及为什么。

【讨论】:

天哪!这一直困扰着我多年! 谢谢!对我来说,我只需要在我的 htaccess 文件顶部添加 Options +FollowSymLinks【参考方案2】:

此选项启用或禁用符号链接的显示,即符号链接(使用 ln 或类似命令)。 在更高级别的 Apache 配置中,我认为您禁用了 SymLinks。 当您注释掉此选项时,您添加(选项前的+)重新启用当前文件夹的符号链接。 我猜你的目录是另一个目录的链接

参考Apache Core module

【讨论】:

谢谢 - 但我没有完全理解这个答案。我(有点)理解符号链接是什么。但是为什么启用符号链接会使目录消失或隐藏呢?如果我安装已建立的服务器(从新客户端)并且他们的设置要求启用符号链接,我该如何解决此问题?

以上是关于我的本地主机服务器上的隐藏目录(与 htaccess 相关)的主要内容,如果未能解决你的问题,请参考以下文章

如何为本地主机测试运行设置虚拟目录?

如何使用 .htaccess 密码保护 WordPress 博客

如何通过我的 IP 地址而不是本地主机访问托管在 Xampp 服务器上的网站

为啥我的本地主机无法识别其目录中的 htdocs?

为啥我无法访问本地 XAMPP 上的某些页面或目录?

Ubuntu 14.04 上的 Laravel 5.1 本地主机错误