Задать вопрос
@das34
DasKolbas

Код 200 вместо 404, как исправить?

Сайт отдает код 200 с пустой страницей вместо 404 при любых запросах (кроме тех которые запрещены в реврайте правилах), как это иправить как это победить ?
GET /asdasd%D1%84%D1%8B%D0%B2%D1%84%D1%8B%D0%B2%D1%84%D1%8B%D0%B2 HTTP/1.1" 200 288
GET /a123123123 HTTP/1.1" 200 288
RewriteEngine on
.htaccess
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

# основной файл ядра - передать на обработку дальше
RewriteRule ^index.php$ - [L]

RewriteRule ^libs\/.*$ - [F]
RewriteRule ^cronjobs\/.*$ - [F]

RewriteRule ^js\/.*$ - [L]
RewriteRule ^pic\/.*$ - [L]
RewriteRule ^admin\/.*$ - [L]

# запрет серверных скрриптов
RewriteRule ^pics\/.*\.php$ - [F]
RewriteRule ^pics\/.*\.phtml$ - [F]
RewriteRule ^pics\/.*\.php3$ - [F]
RewriteRule ^pics\/.*\.cgi$ - [F]
RewriteRule ^pics\/.*\.pl$ - [F]

RewriteRule ^pics\/.*$ - [L]
RewriteRule favicon.ico - [L]
RewriteRule ^.*.inc.php$ - [F]
RewriteRule ^.*.user.ini$ - [F]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php/ [L]
  • Вопрос задан
  • 5948 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Host-Eiweb
@Host-Eiweb
Хостинг VPS серверов в Европе и США
Средствами PHP можно это легко иправить
<?php 
header("Location: https://site.com/404.php", true); 
header ("HTTP/1.1 404 Not Found"); 
?>
Ответ написан
Amstor
@Amstor
Работаю в wap-e
ErrorDocument 404 /404.html
только предварительно создать файл ошибки

Но в вашем случае, мне кажется стоит покопаться в файлах и поискать условия с ошибками, скорее всего они закрываются фразой "хидер локейшен.. тра та та" либо что-то подобное

if(!isset($_GET['path']) or empty($_GET['path']))
{
	message('Это и есть наш 200', '/');
}


и соответственно ошибка воспринимается как код 200 (он же редирект по хидеру) а не 404
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы