PHP возвращает заголовок статуса 200 OK вместо ошибки 404 по SSL [закрыто]

pbu спросил: 14 ноября 2017 в 05:25 в: php

У меня есть этот скрипт php (test.php), который проверяет, существует ли страница в mysql, и она должна возвращать заголовок статуса 404, но возвращает статус 200 OK. Это вызывает мягкие ошибки 404 в консоли.

Я пытался исправить, но это просто не работает. Вот мой .htaccess. Я перенес свой сайт на SSL несколько месяцев назад и перенаправляю весь трафик на https с порта 80.

RewriteEngine On
ErrorDocument 404 /404.shtmlRewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]RewriteEngine on
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)/pressrelease([0-9]+)\.htm$ test.php?pressid=$4 [L]

и вот мой test.php

<?php 
include_once('dbc.php');       $pid = strip_tags(mysql_real_escape_string($_GET['pressid']));$rs_dirs = mysql_query("select id,name from categories order by name") or die(mysql_error());$rs_press = mysql_query("select *
                             from press 
                             where id = '$pid'
                             and approved='1'
                             ") or die(mysql_error());;$total = mysql_num_rows($rs_press);if (mysql_num_rows($rs_press) == 0) {header("HTTP/1.1 404 Not Found");
include '404.shtml';
die();
}

В чем здесь проблема и как ее исправить?


0 ответов