哪个ErrorDocument请求优先?

时间:2014-12-30 17:02:48

标签: apache .htaccess errordocument

我有一个域,其中包含多个具有多个.htaccess文件的站点(客户端在将它们自己的项目转移到自己的服务器之前检查它们,因此每个.htaccess文件控制它自己的站点)。

如果我在根目录中有.htaccess文件,它将控制域。如果输入mydomain.com/doesntexist但它不存在,则会出现root的404页面。如果输入mydomain.com/doesexist/doesntexist,“doesexist”目录中的.htaccess文件将优先,而根目录.htaccess文件...是否正确?

1 个答案:

答案 0 :(得分: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