URL包含directoy时不显示错误文档

时间:2017-02-02 15:02:50

标签: apache .htaccess

我有这个问题。当我访问exampleSite.com/unexistingpage.php时,一切正常,并显示错误文档。但是,当我尝试浏览exampleSite.com/folder/unexistingpage.php时,会显示主页的某些损坏的变体,并且找不到错误文档(我认为该站点试图在/ folder /目录中找到它)

在我的.htaccess中我有以下

ErrorDocument 400 /400.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteRule ^(.*)\.html$ $1.php?%{QUERY_STRING} [L]
</IfModule>

那么如何解决这个问题并告诉网站只在根目录中查找错误文档?或者其他可能导致问题的原因?

PS:我在Apache 2.4上

1 个答案:

答案 0 :(得分:1)

将我的评论翻译成答案。

看来ErrorDocument 404 /404.php指令工作正常但很可能由于您在css/js/images文件中使用相对路径而未找到404.php

要进行测试,您只需在<h1>This is 404 page</h1>中添加/404.php即可在所有非现有网页中显示大胆的This is 404 page文字。

要解决此问题,您可以在<head>页面的HTML 404.php的{​​{1}}部分下方添加此项,以便从中解析每个相对网址基本URL,而不是当前页面的URL。