【问题标题】:Which ErrorDocument request will take precedence?哪个 ErrorDocument 请求将优先?
【发布时间】:2014-12-31 01:19:11
【问题描述】:

我有一个域,其中包含多个站点,其中包含多个 .htaccess 文件(客户可以在他们自己的服务器上线之前检查他们自己的项目,因此每个 .htaccess 文件控制自己的站点)。

如果我在根目录中有一个 .htaccess 文件,它将控制域。如果输入了 mydomain.com/doesntexist 并且它不存在,就会出现 root 的 404 页面。如果输入 mydomain.com/doesexist/doesntexist,“doesexist”目录中的 .htaccess 文件将优先,而不是根目录的 .htaccess 文件...对吗?

【问题讨论】:

    标签: apache .htaccess errordocument


    【解决方案1】:

    你是对的。
    我建议你阅读Apache HTTP Server Tutorial: .htaccess files

    .htaccess 文件中的配置指令适用于 .htaccess 文件所在的目录,以及所有 其子目录。然而,同样重要的是要记住 在更高的目录中可能有 .htaccess 文件。 指令按照它们被发现的顺序应用。因此,一个 特定目录中的 .htaccess 文件可能会覆盖找到的指令 在目录树中较高位置的 .htaccess 文件中。以及那些, 反过来,可能已经覆盖了更高层的指令,或者在 主服务器配置文件本身。


    ROOT htaccess

    ErrorDocument 404 /index.php
    

    子文件夹 htaccess

    ErrorDocument 404 /subfolder/index.php
    

    http://domain.com/does_not_exist --> (404 错误) /index.php
    http://domain.com/subfolder/does_not_exist --> (404 错误) /subfolder/index.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 2018-06-15
      • 2013-07-12
      相关资源
      最近更新 更多