【发布时间】:2014-11-15 16:44:54
【问题描述】:
我对 PHP 和 htaccess 还是很陌生。我正在尝试为我的项目使用 php-mvc 框架。但是,它们不支持自定义错误页面。所以,我正在尝试为我的项目实施它,因为我的项目中需要它。
当 http 响应为 404 时,htaccess 显示自定义错误页面时遇到问题。我已经在 stackoverflow 上检查了有关 ErrorDocument 和 RewriteEngine 的所有答案,但没有一个答案对我有用。这是我的 htaccess 代码:
Options -Indexes
RewriteEngine On
RewriteBase /myproject/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
ErrorDocument 404 /myproject/public/404.html?page=error-404
如果我删除 RewriteEngine On,它会起作用。我认为 ErrorDocument 与 RewriteEngine 冲突。
任何帮助将不胜感激。干杯。
【问题讨论】:
-
您面临什么问题,
/myproject/public/404.html真的存在吗? -
它确实存在。我可以从浏览器转到 404.html 页面。问题是当我发送带有 404 标头的错误消息时,它没有重定向到我的自定义错误页面。如果我删除了 rewriteEngine,我会重定向到 404 页面。
标签: php apache .htaccess mod-rewrite