网站返回带有内容的错误 404

Posted

技术标签:

【中文标题】网站返回带有内容的错误 404【英文标题】:Website returns error 404 with content 【发布时间】:2015-12-28 11:16:53 【问题描述】:

我最近切换到一个新的虚拟主机并发现一个不寻常的错误 - 我网站上除 root 以外的所有页面都返回 404 错误,但页面的实际 html

举个例子,我可以给这个页面:

http://www.mm-vet.cz/cenik

它返回 404 错误,但带有实际页面 html(因此您可以在浏览器中看到它)。

这是我的 .htaccess

RewriteEngine On
RewriteBase /
RewriteRule \.(css|jpe?g|gif|png|js|ico)$ - [L]
RewriteCond %QUERY_STRING !^cat
RewriteRule ^(.+?)/?$ /index.php?cat=$1 [L]

为什么我的页面实际存在时服务器返回 404 错误,我该如何解决?

【问题讨论】:

你用的是哪个php框架? 对这个网站没有任何意义 删除此行RewriteRule ^([a-z0-9_-]+)\.html$ index.php/page/$1 [L] 没有这样一行 对不起这行RewriteRule ^(.+?)/?$ /index.php?cat=$1 [L] 【参考方案1】:

您定位一组扩展是否有特定的原因?这是否可以通过使用更简单的规则来检查请求的文件是否存在,如果不存在,则执行重写?

RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_URI !-f
RewriteRule ^(.+?)/?$ /index.php?cat=$1 [L,QSA]

您的 PHP 代码是否在任何时候发送header('HTTP/1.0 404 Not Found')?是否被调用?

我从未遇到过 webhost 发送 404 错误,但也发送请求的内容。

【讨论】:

以上是关于网站返回带有内容的错误 404的主要内容,如果未能解决你的问题,请参考以下文章

网站日志返回404如何解决

带有 WCF 调用的 Ajax 返回 404 错误

改善用户体验的404页面最佳实践

Google 404 和 .NET 自定义错误页面

浅析制作404错误页面时应该注意的问题是那些

NGINX 配置404错误页面转向