我正在尝试在我的.htaccess
文件中执行操作,检查是否存在多个文件 - 以及它们是否未重定向到404页面。
请求网址 //mydomain.com/page-name
首先,它将检查此文件是否存在。如果该文件不存在,它将检查该文件是否存在于子目录中;它将检查以下文件是否存在://mydomain.com/h/page-name
。
最后,如果该文件不存在,它会将用户重定向到位于//mydomain.com/404.php
的404。
是否可以通过多个条件来执行重定向,如我在此处所述?有更好的方法/解决方案吗?
答案 0 :(得分:1)
经过一番乱搞之后,我发现了它。希望它可以帮助别人!您可以在.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]