При вводе неправильной ссылки, переходит на главную страницу, а должна на 404. Нашел проблему, в htaccess убираю данную строку RewriteRule ^(.*)$ index.php/?news=$1 [L] и 404 начинает корректно работать. Но мне надо оставить её, т.к с её помощью у меня сокращаются ссылки. Помогите решить проблему, запутался капец.
Ну там, где ты по полученному параметру выбираешь новость из базы данных (или ещё откуда-нибудь), если новость не найдена - отдавать 404 код ответа руками, и саму страницу тоже PHP: if (!$news) { header("HTTP/1.0 404 Not Found"); die("You are very stupid, and this link is incorrect :)))"); } --- Добавлено --- Рерайтер же как настраивают обычно - чтоб он все несуществующие файлы перенаправлял, куда указано. Вот он у тебя так и работает.
У меня после создания чпу перестала работать 404 ошибка, как исправить?( /page - работает (Заходит на страницу) /page.php - ошибка 404, но в яндекс вебмастере и на pr-cy отображается, что 404 ошибка отсутствует. /fjdsjf - несуществующий url, переадресовывает на главную. Либо чпу корявый, либо руки) Подскажите пожалуйста решение, если можно, то разжёванное. Движок самописный
Дебажить. --- Добавлено --- Ознакомься с пунктом 12. --- Добавлено --- В инструментах разработчика в браузере какой код ответа? Вот тут:
в htaccess PHP: Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !index.php RewriteRule ^([^.]*)$ /index.php/?page=$1 [QSA]
Только недавно отвечал на точно такой же вопрос: https://php.ru/forum/threads/vmesto-404-perexodit-na-glavnuju.60166/#post-486764 --- Добавлено --- Ха, причём на твой же ))
Ты издеваешься, или намеки про телепатов действительно такие неясные? Окей, отвечу в твоем же духе. Вот там и дебажь.
Ты прямо мой код что-ли куда-то вставил? Который я как схему написал? Покажи, что происходит в index.php