404 ошибка в htaccess и ЧПУ

P4
На сайте с 20.09.2010
Offline
20
1327

Имеется старенький движок. Появилась необходимость сделать нормальную 404 страницу. Сейчас любая 404 ошибка отправляется на главную.

Код htaccess


ErrorDocument 404 http://www.site.ru/404.html

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]



php_flag magic_quotes_gpc Off

Мне тут говорят что только движок менять. Неужели никак не сделать 404 страницу? Заранее спасибо за ответ! :(

siv1987
На сайте с 02.04.2009
Offline
427
#1

Если движок с чпу, то да, 404-ую страницу нужно делать в скриптах.

bukachuk
На сайте с 07.09.2008
Offline
97
#2

В самом движке обработайте 404 и header выдайте соответствующий и все. Менять движок не нужно, так большая часть работает

Программирование PHP,Mysql (/ru/forum/934470)
дани мапов
На сайте с 06.09.2012
Offline
204
#3
phaeton480:
Имеется старенький движок. Появилась необходимость сделать нормальную 404 страницу. Сейчас любая 404 ошибка отправляется на главную.
Код htaccess

ErrorDocument 404 http://www.site.ru/404.html

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]



php_flag magic_quotes_gpc Off

Мне тут говорят что только движок менять. Неужели никак не сделать 404 страницу? Заранее спасибо за ответ! :(

Если неохота в движке разбираться, создайте файл "404.html" и все.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
AI
На сайте с 02.04.2013
Offline
3
#4
дани мапов:
Если неохота в движке разбираться, создайте файл "404.html" и все.

А разве он тогда не будет возвращаться с кодом 200 и прекрасно индексироваться?

дани мапов
На сайте с 06.09.2012
Offline
204
#5
Andrej_in_ua:
А разве он тогда не будет возвращаться с кодом 200 и прекрасно индексироваться?

Тогда вместо 404.html - 404.php, в начале файла вставить

<?php header("HTTP/1.0 404 Not Found"); ?>
[umka]
На сайте с 25.05.2008
Offline
456
#6
дани мапов:
Тогда вместо 404.html - 404.php, в начале файла вставить
<?php header("HTTP/1.0 404 Not Found"); ?>

Он не будет вызываться. Вообще.

Всё будет перехватывать реврайт.

Лог в помощь!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий