我有一个域,其中包含多个具有多个.htaccess文件的站点(客户端在将它们自己的项目转移到自己的服务器之前检查它们,因此每个.htaccess文件控制它自己的站点)。
如果我在根目录中有.htaccess文件,它将控制域。如果输入mydomain.com/doesntexist但它不存在,则会出现root的404页面。如果输入mydomain.com/doesexist/doesntexist,“doesexist”目录中的.htaccess文件将优先,而根目录.htaccess文件...是否正确?
答案 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