自定义错误页面不适用于 .htaccess 或 Apache & nginx 设置

问题描述 投票:0回答:0

我为我的项目创建了一个 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

Apache & nginx 设置

为了解决问题我做了以下

  1. 检查我的 .htaccess 文件是否正在正确处理。我向它添加了一个无效行,(foo bar),并试图访问一个不存在的页面。我得到了内部服务器错误而不是“找不到文件”。

  2. 我已经检查过我的自定义错误页面位于正确的位置 目录并具有正确的权限。我可以访问我的错误 通过在我的浏览器中输入 URL 来直接查看页面是否 负载。

  3. 我的 Apache 配置允许自定义错误页面。

  4. 我尝试为我的 ErrorDocument 指令使用绝对路径。我没有使用像 ErrorDocument 404 /404.php 这样的相对路径,而是尝试使用像 ErrorDocument 404 /var/www/html/404.php 这样的绝对路径

在此方面的任何帮助将不胜感激。

php .htaccess nginx plesk 404-page
© www.soinside.com 2019 - 2024. All rights reserved.