Добрый. Есть сайт на базе Netcat и хостинг с Apache.Проблема: При запросе разделов сайта, вместе с контентом выдается ошибка 404
Суть: Сайт построен таким образом, что на веб-сервере не существует файлов указанных в линках на сайте. Не найдя запрашиваемый файл, apache выдает HTTP 404 и запускает сценарий, указанный в директиве ErrorDocument 404, который обрабатывает запрос и выдает запрашиваемую страницу.
Вопрос: Можно ли сконфигурировать apache, чтобы он не выдавал код 404 но при этом запускал сценарий в ErrorDocument 404?
можно, укажи в ErrorDocument 404 (в основном конфиге или для виртуал хоста ) хоть url, хоть скрипт
Такое наверное тоже можно, но разумные люди используют mod_rewrite для перенаправления на нужный скрипт, не доводя до 404. Типа такого:RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
>Суть: Сайт построен таким образом, что на веб-сервере не существует файлов указанных
>в линках на сайте. Не найдя запрашиваемый файл, apache выдает HTTP
>404 и запускает сценарий, указанный в директиве ErrorDocument 404, который обрабатывает
>запрос и выдает запрашиваемую страницу.полный бред
Ну зачем сразу бред. Вдруг человеку религия или обстоятельства запрещают mod_rewrite. Тогда вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>Ну зачем сразу бред. Вдруг человеку религия или обстоятельства запрещают mod_rewrite. Тогда
>вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>Я думаю, имелось ввиду "Сайт построен таким образом, что на веб-сервере не существует файлов указанных в линках на сайте."
Что является нездоровым :)
>>Ну зачем сразу бред. Вдруг человеку религия или обстоятельства запрещают mod_rewrite. Тогда
>>вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>>
>
>Я думаю, имелось ввиду "Сайт построен таким образом, что на веб-сервере не
>существует файлов указанных в линках на сайте."
>Что является нездоровым :)нет, это как здорОво, очень много динамик сайтов преобразуется к псевдо ститическому виду посредством реврайт - вот отдавать ошибочный статус на нормальный запрос - есть бред неимоверный
>[оверквотинг удален]
>>>вполне можно добиться нужного результата за счет ErrorDocument ценой лишнего редиректа.
>>>
>>
>>Я думаю, имелось ввиду "Сайт построен таким образом, что на веб-сервере не
>>существует файлов указанных в линках на сайте."
>>Что является нездоровым :)
>
>нет, это как здорОво, очень много динамик сайтов преобразуется к псевдо ститическому
>виду посредством реврайт - вот отдавать ошибочный статус на нормальный запрос
>- есть бред неимоверныйЭто не фича, это и есть проблема.
Господа, дело не в том, что мне нечем заняться и уж тем более из-за религии выносить людям мозг я не буду. Сайт был построен и размещен без моего участия, и слава Богу, ибо сам я в медицине понимаю немного. Проблем не было, до решения о продвижении сайта. С оптимизацией сайта вытекли проблемы, причем были они до или после оптимизации это другой вопрос(какие-то замуты с mod_rewrite были, помню точно).
Главный проблемой было то, что апач выдает 404 перед выполнением скрипта в ErrorDocument, я так понял, из первого ответа, что все с точностью да на оборот, апач запускает скрипт и тот выдает 404 - отсюда, пожалуй, и начну раскопки.
>Господа, дело не в том, что мне нечем заняться и уж тем
>более из-за религии выносить людям мозг я не буду.Это радует, но все-таки почему не mod_rewrite. Я встречал случаи, когда он был отключен, а что в вашем случае?
Если вы объясните почему не можете использовать mod_rewrite, то так и быть гляну все варианты с ErrorDocument.
>>Господа, дело не в том, что мне нечем заняться и уж тем
>>более из-за религии выносить людям мозг я не буду.
>
>Это радует, но все-таки почему не mod_rewrite. Я встречал случаи, когда он
>был отключен, а что в вашем случае?
>Если вы объясните почему не можете использовать mod_rewrite, то так и быть
>гляну все варианты с ErrorDocument.Спасибо за отзывы. В моем случае mod_rewrite кому-то помешал, а в силу отсутствия опыта, сам я не догадался, что эффект ErrorDocument, можно сотворить mod_rewrite'ом.
Проблему решил mod_rewrite'ом. Ошибки нет, отсюда делаю неосторожный вывод, что апач, таки сначала выдает HTTP 404, а затем запускает EorroDocument.
Остался вопрос, 'а не снижает ли скорость RewriteCond %{SCRIPT_FILENAME} !-f / !-d ?'