我为我的项目创建了一个 404 页面,但我似乎无法让它正常工作。当转到非 URL 时,我得到一个带有“找不到文件”的白页。
我已经通过我的 Plesk 面板尝试了 .htaccess 文件和 Apache & nginx 设置
我的 .htaccess 文件
Options -MultiViews
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
# Append trailing slash if omitted (canonical redirect)
RewriteRule ^news$ /$0/ [R=301,L]
RewriteCond %{QUERY_STRING} (?:^|&)article_slug=([\w-]*)(?:$|&)
RewriteRule ^news\.php$ /news/%1 [R=301,L]
RewriteRule ^news/([\w-]*)$ /news.php?article_slug=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
ErrorDocument 404 /404.php
为了解决问题我做了以下
检查我的 .htaccess 文件是否正在正确处理。我向它添加了一个无效行,(foo bar),并试图访问一个不存在的页面。我得到了内部服务器错误而不是“找不到文件”。
我已经检查过我的自定义错误页面位于正确的位置 目录并具有正确的权限。我可以访问我的错误 通过在我的浏览器中输入 URL 来直接查看页面是否 负载。
我的 Apache 配置允许自定义错误页面。
我尝试为我的 ErrorDocument 指令使用绝对路径。我没有使用像 ErrorDocument 404 /404.php 这样的相对路径,而是尝试使用像 ErrorDocument 404 /var/www/html/404.php 这样的绝对路径
在此方面的任何帮助将不胜感激。