【问题标题】:Is .htaccess files supposed to work even outside public_html?.htaccess 文件是否应该在 public_html 之外工作?
【发布时间】:2013-08-05 02:51:05
【问题描述】:

我一直认为 .htaccess 文件在 public_html 目录之外不起作用。但是,即使我的 .htaccess 文件位于 public_html 文件夹之外,它也会影响 public_html 中的文件。

这是我的设置:

  • /家
    • /yca
      • /public_html
        • index.php
        • 等等等等
      • /.htaccess(此文件有效,即使它不在 public_html 文件夹中)

我的安装/配置是否有问题,或者 .htaccess 文件是否应该在 public_html 目录之外工作?

【问题讨论】:

  • .htaccess 只影响其目录及其下方,但不影响...
  • 实际上这取决于 public_html 文件夹如何映射到 http 服务器文档层次结构中。您如何从客户端(浏览器)访问该文件夹?
  • 你在 Apache 配置中的 DOCUMENT_ROOT 是什么?
  • @arkascha,mydomain.com 将显示 /home/yca/public_html 中的文件。 subd1.mydomain.com 将显示 /home/yca/public_html/subd1 中的文件
  • @anubhava,回声 $_SERVER['DOCUMENT_ROOT'];在 subd1.mydomain.com 上给出 /home/yca/public_html/subd1

标签: php apache .htaccess web


【解决方案1】:

这是 .htaccess 工作的正确方式。您的 .htaccess 文件和 public_html 文件夹在同一级别,因此 .htaccess 会影响 public_html 中的文件。

您所拥有的与您的 webroot 中的 .htaccess 文件相同,并希望它不会影响任何子目录。应该的。

如果你这样做,它不会影响

  • /家
    • /yca
      • /public_html
        • index.php
        • 等等等等
      • /私人
        • /.htaccess(现在此文件不会影响 public_html,因为它处于不同的级别。)

【讨论】:

  • 我的 .htaccess 在我的网络根目录之外。嗯,你的意思是它仍然应该工作?因此,如果我的 .htaccess 文件位于我的 unix 根目录的最顶部,并且所有其他单个文件都位于该目录中,它会影响我在该计算机上托管的所有域吗?
  • 我会说你的 apache webroot 的任何子目录中的 .htaccess 文件都可以做到这一点。如果您不希望它影响您的网站,为什么要把它放在那里?
  • 确认一下,您是说如果.htaccess 位于yca 文件夹中,它不应该影响public_html 文件夹中的内容,对吧?
  • 不会的。放置在 yca 文件夹中的 .htaccess 文件将影响 yca 文件夹及其下的所有文件夹。试试看会发生什么
【解决方案2】:

在您的目录树中,您的 .htaccess 似乎位于 /yca 中。对于domain.com/index.php 的请求,它将检查/home/yca/public_html/.htaccess 和该目录的父目录中的所有htaccess。这就是为什么在你的 www 根目录中有一个 .htaccess 可以很好地处理对 domain.com/some/sub/directory/file.php 的请求。

【讨论】:

  • 这很奇怪,你的意思是,如果我在我的 unix 根目录的最顶部有一个 .htaccess 文件,它会影响我的所有域吗?跨度>
  • 简而言之:是的,我认为确实如此。然而,通过在 httpd.conf 中使用 AllowOverride-directive 来限制这一点可能是明智的
  • 我认为这应该是公认的答案。该答案仅表明 .htaccess 正在工作,因为它与 webroot 处于同一级别,这只是故事的一部分。我遇到了同样的事情,我想知道为什么(意外的).htaccess 会影响配置。
猜你喜欢
  • 1970-01-01
  • 2011-12-14
  • 2019-04-02
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
相关资源
最近更新 更多