网站返回错误404,内容为

时间:2015-09-30 15:26:26

标签: php html .htaccess mod-rewrite http-status-code-404

我最近切换到了一个新的虚拟主机并发现了一个不寻常的错误 - 除了我网站上的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错误?如何解决?

1 个答案:

答案 0 :(得分:0)

您是否有针对一组扩展程序的具体原因?这可以通过使用更简单的规则检查所请求的文件是否存在,如果不存在,然后执行重写吗?

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

您的PHP代码在任何时候都会发送header('HTTP/1.0 404 Not Found')吗?这被调用了吗?

我从未遇到过发送404错误的虚拟主机,但也发送了请求的内容。