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

281
17 июля 2017, 16:38

Написал скрипт сайта, адреса следующего вида вася.ру/1234567

Глянул поиск, появилась куча не существующих страниц вида вася.ру/contact.html вася.ру/contact/ и много других вариантов, при этом страницы на самом деле не существует но отдается код 200.

Файл .htaccess выглядит так

## Application Handler
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)?$ 2.php?a=$1  [QSA,NC,L]
## Error 404 ##
ErrorDocument 404 /index.php?a=404

Как научить скрипт выставлять 404 ошибку на не существующих страницах?

Сам сайт формируется с помощью cURL запросов, из-за этого и появляется множество не существующих страниц...

Помогите разобраться, спасибо!

Answer 1

Добавьте в начало своего файла 2.php следующий код:

// в этот массив добавьте ссылки на все несуществующие страницы
$nonExistentPages = array('contact.html', 'contact');
if (in_array($_REQUEST['a'], $nonExistentPages)) {
    header("{$_SERVER['SERVER_PROTOCOL']} 404 Not Found");
    // если нужно выдавать какой-то информационный контент, 
    // делайте это здесь.
    exit;
}
READ ALSO
Как разбить цикл wordpress?

Как разбить цикл wordpress?

Добрый вечер!

353
Как выводить из массива элементы с тегами без указанного class

Как выводить из массива элементы с тегами без указанного class

Есть массив, в котором хранятся элементы вместе с тегамиУ некоторых тег пустой, а у некоторых указан определенный, одинаковый class

229
Как сделать подсветку “%” в PHPStorm?

Как сделать подсветку “%” в PHPStorm?

Можно ли, если можно то как добавить подсветку "%" в PHPStorm, так как я использую этот символ для маркеров, также чтобы текст между этими маркерами...

321
Авторизация ajax php

Авторизация ajax php

Есть такая проблема, если логин и пароль не правильный, то в блоке выводит неправильный логин и пароль, но если правильный, то в этом же блоке,...

377