Apache htaccess-检查当前目录和子目录中是否存在文件,如果不存在,则重定向到404页

Apache htaccess-检查当前目录和子目录中是否存在文件,如果不存在,则重定向到404页,apache,.htaccess,mod-rewrite,rewrite,Apache,.htaccess,Mod Rewrite,Rewrite,我试图在我的.htaccess文件中执行一个操作,检查是否存在多个文件,以及它们是否重定向到404页面 请求URL://mydomain.com/page name 首先,它将检查此文件是否存在。如果文件不存在,它将检查文件是否存在于子目录中;它将检查以下文件是否存在://mydomain.com/h/page name 最后,如果该文件不存在,它会将用户重定向到404地址://mydomain.com/404.php 是否可以像我在这里描述的那样,遍历多个条件来执行重定向?有更好的方法/解决方

我试图在我的
.htaccess
文件中执行一个操作,检查是否存在多个文件,以及它们是否重定向到404页面

请求URL:
//mydomain.com/page name

首先,它将检查此文件是否存在。如果文件不存在,它将检查文件是否存在于子目录中;它将检查以下文件是否存在:
//mydomain.com/h/page name

最后,如果该文件不存在,它会将用户重定向到404地址:
//mydomain.com/404.php


是否可以像我在这里描述的那样,遍历多个条件来执行重定向?有更好的方法/解决方案吗?

经过一番周折,我终于想出了办法。希望它能帮助别人!您可以将以下代码放入
.htaccess
中以实现此目的

RewriteEngine On

# if file exists in root directory
# redirect to file in root directory
RewriteCond  %{DOCUMENT_ROOT}/$1 -f
RewriteRule  ^(.*)$  $1  [L,QSA]

# if file exists in /h/ directory
# redirect to file in /h/ directory
RewriteCond  %{DOCUMENT_ROOT}/h/$1 -f
RewriteRule ^(.*)$ h/$1 [L,QSA]

# if we've gotten this far let's just
# send 'em to the 404
RewriteRule ^(.*)$ 404.php [L,QSA]

经过一番胡闹,我终于明白了。希望它能帮助别人!您可以将以下代码放入
.htaccess
中以实现此目的

RewriteEngine On

# if file exists in root directory
# redirect to file in root directory
RewriteCond  %{DOCUMENT_ROOT}/$1 -f
RewriteRule  ^(.*)$  $1  [L,QSA]

# if file exists in /h/ directory
# redirect to file in /h/ directory
RewriteCond  %{DOCUMENT_ROOT}/h/$1 -f
RewriteRule ^(.*)$ h/$1 [L,QSA]

# if we've gotten this far let's just
# send 'em to the 404
RewriteRule ^(.*)$ 404.php [L,QSA]

经过一番胡闹,我终于明白了。希望它能帮助别人!您可以将以下代码放入
.htaccess
中以实现此目的

RewriteEngine On

# if file exists in root directory
# redirect to file in root directory
RewriteCond  %{DOCUMENT_ROOT}/$1 -f
RewriteRule  ^(.*)$  $1  [L,QSA]

# if file exists in /h/ directory
# redirect to file in /h/ directory
RewriteCond  %{DOCUMENT_ROOT}/h/$1 -f
RewriteRule ^(.*)$ h/$1 [L,QSA]

# if we've gotten this far let's just
# send 'em to the 404
RewriteRule ^(.*)$ 404.php [L,QSA]

经过一番胡闹,我终于明白了。希望它能帮助别人!您可以将以下代码放入
.htaccess
中以实现此目的

RewriteEngine On

# if file exists in root directory
# redirect to file in root directory
RewriteCond  %{DOCUMENT_ROOT}/$1 -f
RewriteRule  ^(.*)$  $1  [L,QSA]

# if file exists in /h/ directory
# redirect to file in /h/ directory
RewriteCond  %{DOCUMENT_ROOT}/h/$1 -f
RewriteRule ^(.*)$ h/$1 [L,QSA]

# if we've gotten this far let's just
# send 'em to the 404
RewriteRule ^(.*)$ 404.php [L,QSA]