htaccess 404页面重定向在子目录路径中不起作用

时间:2019-09-04 08:07:21

标签: php .htaccess mod-rewrite url-rewriting url-rewrite-module

在FTP的root目录中,有一个htaccess文件正在按预期进行重定向。

然后我有一个子目录mysubdirectory,其中包含另一个htaccess文件,它具有自己的内容和页面。但是重定向到我的自定义404页面不适用于该子目录。 请注意,我的自定义404.html页位于root目录中。

例如(假设我的域名是:www.mydomain.com):

  • 如果页面www.mydomain.com/nopage不存在,则为 重定向到www.mydomain.com/404(这很好);
  • 如果在mysubdirectory中有mypage页,那么www.mydomain.com/mysubdirectory/mypage可以正常工作;
  • 如果在mysubdirectory中我没有没有页面nopage,则www.mydomain.com/mysubdirectory/nopage不会将我重定向到我的自定义404.html页面,默认的白色“找不到页面”屏幕;

我猜这是因为子目录中的htaccess文件未按预期进行重定向。这是它的内容:

RewriteEngine on

# Check if php exist, then remove .html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^/]+)/$ $1.html

# Add trailing slash
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R,L]

我尝试的是,我添加了行

RewriteRule ^ /404.html [NC,L]

作为文件的最后一行,但是,即使是子目录中的页面(上面的第二点)现在也被重定向到我的自定义404.html页面。

0 个答案:

没有答案