URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85020
[ Назад ]

Исходное сообщение
"Apache: можно ли отключить  HTTP 404"

Отправлено SaveMeGood , 23-Апр-09 14:38 
Добрый. Есть сайт на базе Netcat и хостинг с Apache.

Проблема: При запросе разделов сайта, вместе с контентом выдается ошибка 404

Суть: Сайт построен таким образом, что на веб-сервере не существует файлов указанных в линках на сайте. Не найдя запрашиваемый файл, apache выдает HTTP 404 и запускает сценарий, указанный в директиве ErrorDocument 404, который обрабатывает запрос и выдает запрашиваемую страницу.

Вопрос: Можно ли сконфигурировать apache, чтобы он не выдавал код 404 но при этом запускал сценарий в ErrorDocument 404?


Содержание

Сообщения в этом обсуждении
"Apache: можно ли отключить  HTTP 404"
Отправлено tiv , 23-Апр-09 14:52 
можно, укажи в ErrorDocument 404 (в основном конфиге или для виртуал хоста ) хоть url, хоть скрипт

"Apache: можно ли отключить  HTTP 404"
Отправлено angra , 23-Апр-09 15:07 
Такое наверное тоже можно, но разумные люди используют mod_rewrite для перенаправления на нужный скрипт, не доводя до 404. Типа такого:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1


"Apache: можно ли отключить  HTTP 404"
Отправлено Pahanivo , 23-Апр-09 15:57 
>Суть: Сайт построен таким образом, что на веб-сервере не существует файлов указанных
>в линках на сайте. Не найдя запрашиваемый файл, apache выдает HTTP
>404 и запускает сценарий, указанный в директиве ErrorDocument 404, который обрабатывает
>запрос и выдает запрашиваемую страницу.

полный бред


"Apache: можно ли отключить  HTTP 404"
Отправлено angra , 23-Апр-09 16:19 
Ну зачем сразу бред. Вдруг человеку религия или обстоятельства запрещают mod_rewrite. Тогда вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.


"Apache: можно ли отключить  HTTP 404"
Отправлено Nimdar , 23-Апр-09 16:23 
>Ну зачем сразу бред. Вдруг человеку религия или обстоятельства запрещают mod_rewrite. Тогда
>вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>

Я думаю, имелось ввиду "Сайт построен таким образом, что на веб-сервере не существует файлов указанных в линках на сайте."
Что является нездоровым :)


"Apache: можно ли отключить  HTTP 404"
Отправлено Pahanivo , 23-Апр-09 16:31 
>>Ну зачем сразу бред. Вдруг человеку религия или обстоятельства запрещают mod_rewrite. Тогда
>>вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>>
>
>Я думаю, имелось ввиду "Сайт построен таким образом, что на веб-сервере не
>существует файлов указанных в линках на сайте."
>Что является нездоровым :)

нет, это как здорОво, очень много динамик сайтов преобразуется к псевдо ститическому виду посредством реврайт - вот отдавать ошибочный статус на нормальный запрос - есть бред неимоверный


"Apache: можно ли отключить  HTTP 404"
Отправлено SaveMeGood , 29-Апр-09 12:00 
>[оверквотинг удален]
>>>вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>>>
>>
>>Я думаю, имелось ввиду "Сайт построен таким образом, что на веб-сервере не
>>существует файлов указанных в линках на сайте."
>>Что является нездоровым :)
>
>нет, это как здорОво, очень много динамик сайтов преобразуется к псевдо ститическому
>виду посредством реврайт - вот отдавать ошибочный статус на нормальный запрос
>- есть бред неимоверный

Это не фича, это и есть проблема.

Господа, дело не в том, что мне нечем заняться и уж тем более из-за религии выносить людям мозг я не буду. Сайт был построен и размещен без моего участия, и слава Богу, ибо сам я в медицине понимаю немного. Проблем не было, до решения о продвижении сайта. С оптимизацией сайта вытекли проблемы, причем были они до или после оптимизации это другой вопрос(какие-то замуты с mod_rewrite были, помню точно).  
Главный проблемой было то, что апач выдает 404 перед выполнением скрипта в ErrorDocument, я так понял, из первого ответа, что все с точностью да на оборот, апач запускает скрипт и тот выдает 404 - отсюда, пожалуй, и начну раскопки.


"Apache: можно ли отключить  HTTP 404"
Отправлено angra , 29-Апр-09 19:10 
>Господа, дело не в том, что мне нечем заняться и уж тем
>более из-за религии выносить людям мозг я не буду.

Это радует, но все-таки почему не mod_rewrite. Я встречал случаи, когда он был отключен, а что в вашем случае?
Если вы объясните почему не можете использовать mod_rewrite, то так и быть гляну все варианты с ErrorDocument.


"Apache: можно ли отключить  HTTP 404"
Отправлено SaveMeGood , 30-Апр-09 11:39 
>>Господа, дело не в том, что мне нечем заняться и уж тем
>>более из-за религии выносить людям мозг я не буду.
>
>Это радует, но все-таки почему не mod_rewrite. Я встречал случаи, когда он
>был отключен, а что в вашем случае?
>Если вы объясните почему не можете использовать mod_rewrite, то так и быть
>гляну все варианты с ErrorDocument.

Спасибо за отзывы. В моем случае mod_rewrite кому-то помешал, а в силу отсутствия опыта, сам я не догадался, что эффект ErrorDocument, можно сотворить mod_rewrite'ом.
Проблему решил mod_rewrite'ом. Ошибки нет, отсюда делаю неосторожный вывод, что апач, таки сначала выдает HTTP 404, а затем запускает EorroDocument.
Остался вопрос, 'а не снижает ли скорость RewriteCond %{SCRIPT_FILENAME} !-f / !-d ?'