Нужна помощь по файле .htaccess и ошибке 404

12
kxgoo
На сайте с 29.02.2008
Offline
145
748

Случилась неприятная история, на одном моем сайте (примерно 100 страниц) было удалено около 30% станиц, но на самом сайте остались ссылки на них, и если переходить по ссылке на такую страницу (к примеру /page1.html) то сервер соответсвтенно выдает ошибку "Not Found

The requested URL /page1.html was not found on this server." т.к. ее физически там нету.

Интересует, как можно через .htaccess сделать так, что при переходе на даную страницу отображаласть другая страцина (к примеру /deleted.html) с моим соответсвующим текстом, причем в урл-е браузера не происходила переадресация на /deleted.html и урл оставался /page1.html, но отображалось содержимое /deleted.html, как-то так. Буду благодарен за помощь :)

Adverte - Лучшие тизерные сети (http://adverte.net)
J
На сайте с 20.02.2014
Offline
120
jkm
#1

Указать собственную страницу для ошибки 404 можно так


ErrorDocument 404 /deleted.html
kxgoo
На сайте с 29.02.2008
Offline
145
#2
jkm:
Указать собственную страницу для ошибки 404 можно так

ErrorDocument 404 /deleted.html

Все так просто? :) Спасибо 🚬

kxgoo
На сайте с 29.02.2008
Offline
145
#3

теперь возникла еще одна дополнительная проблема, при добавлении такого сайта в биржу ссылок, тип следующих страниц /page1.html не сканируется, т.к. она отдает ответ 404 (страница не найдена), как с помощью htaccess сделать чтобы это была полноценная страница и сервер отдавал код 200 при попытке зайти на нее?

S1
На сайте с 28.03.2010
Offline
72
#4
kxgoo:
теперь возникла еще одна дополнительная проблема, при добавлении такого сайта в биржу ссылок, тип следующих страниц /page1.html не сканируется, т.к. она отдает ответ 404 (страница не найдена), как с помощью htaccess сделать чтобы это была полноценная страница и сервер отдавал код 200 при попытке зайти на нее?

Создать такую страницу и отдавать код 200.

ICQ: 3533966 | Skype: spider13software | E-Mail: admin@spider13.net | Telegram: spider13software| Разработчик Node.js (https://spider13.net/) | Заметки онлайн (https://notes.spider13.net/)
J
На сайте с 20.02.2014
Offline
120
jkm
#5

Если нужно для несуществующих страниц отображать содержимое /deleted.html и отдавать вместо 404 код 200, то помогут такие правила


RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.html$ /deleted.html [L]

Ставить в самом верху сразу после RewriteEngine On

S1
На сайте с 28.03.2010
Offline
72
#6
jkm:
Если нужно для несуществующих страниц отображать содержимое /deleted.html и отдавать вместо 404 код 200, то помогут такие правила

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.html$ /deleted.html [L]

Ставить в самом верху сразу после RewriteEngine On

Не факт, что сайт состоит из статических html страниц. Хотя, пускай на этот вопрос ответит ТС.

kxgoo
На сайте с 29.02.2008
Offline
145
#7

Сделал так, содержимое хтаццесса

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.html$ /404.php [L]

AddType application/x-httpd-php .htm .html
ErrorDocument 404 /404.php

но страница всеравно отдает код 404

SeVlad
На сайте с 03.11.2008
Offline
1609
#8
kxgoo:
т.к. она отдает ответ 404 (страница не найдена)

И это есть правильно.

Надо 200 - создай страницы по этим адресам и будет 200.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
J
На сайте с 20.02.2014
Offline
120
jkm
#9

А вообще файл 404.php существует и доступен. Какой код возвращается при обращении напрямую к адресу /404.php

kxgoo
На сайте с 29.02.2008
Offline
145
#10
jkm:
А вообще файл 404.php существует и доступен. Какой код возвращается при обращении напрямую к адресу /404.php

да, файл существует, можно по урлу зайти и посмотреть его содержимое, отдает код 200.

Решил проблему следующим образом

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /404.php [L]

Теперь все несуществующие страницы отображают содержимое файла 404.php и отдают код 200, вроде бы все ок, но другая проблема, также и все существующие страницы вместо того чтоб отображать себя - отображают содержимое файла 404.php ну и код тоже 200

12

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