我正在尝试将ErrorDocument(找不到页面)添加到我的网站。 我有errorpage.php
<?php
http_response_code(404);
?>
...
<h1>page not found</h1>
我的.htaccess文件如下所示:
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1.html [QSA,L]
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
ErrorDocument 404 http://www.example.com/errorpage.php
ErrorDocument 500 http://www.example.com/errorpage.php
如果我打开一个不存在的页面,例如:“ www.example.com/xxx”,则会重定向到“ www.example.com/errorpage.php”,但状态码为:
302 found
404 not found
这很糟糕,我只需要状态码“ 404 not found”。 为什么我会得到两个状态代码,以及从找到到未找到的重定向?
答案 0 :(得分:0)
也许您的请求不是www,然后首先将302重定向到www,然后从errorpage.php获取http404状态,删除主机并检查。您也可以将这些行移动到.htaccess文件的顶部。也许有帮助
`$('#select').on('change',function(){
$.ajax(
/* your code here */
);
}).
答案 1 :(得分:0)
我必须添加另一个RewriteCond:
RewriteCond %{REQUEST_URI} .!errorpage\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1.html [QSA,L]
ErrorDocument 404 /errorpage.php
ErrorDocument 500 /errorpage.php