[英].htaccess Internal Server Error: ErrorDocument not working (RewriteEngine on)
[英]Apache .htaccess: ErrorDocument and RewriteEngine not working together
请看一下以下.htaccess
ErrorDocument 404 /404/
RewriteEngine On
RewriteRule (.*) index.php [L]
使用此设置,我使用header('HTTP/1.1 404 Not Found');
在PHP中重定向到错误处理页面并发送相应的HTTP状态代码。 发送了正确的404状态代码,但浏览器显示空白页面,访问日志显示"GET /invalid-url/ HTTP/1.1" 404 -
任何人都可以告诉我如何使ErrorDocument与Apache URL重写?
是在重写规则后声明404文档
您的服务器不会推送任何404错误是正常的,您使用catchall regexp((。*))作为唯一的重写规则。
但你的问题并不是真正的htaccess相关。 在PHP中,如果你发送404标题浏览器不会自动重定向到404页面,但你必须自己在PHP中提供错误页面内容,因为它是由大多数框架与内部路由系统完成的。
我想我的问题的答案是:我不需要。 我想要完成的是“404重定向”。 也就是说,在请求无效的URL时,重定向到404文档以及设置“未找到状态404”标题。 而且我不确定这是我想要的,因为无效的URL应该用404状态代码标记,而不是重定向。
如果在ErrorDocument 之前定义Rewrite ,它应该可以工作。
试试这个
ErrorDocument 404 /404.html
RewriteEngine On
RewriteRule (.*) index.php [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.