|
|
|
| Вот проблемный код:
RewriteRule ^\.htaccess$ - [R=404]
| Как можно по-другому выдать 404 ошибку на запрос пользователя? | |
|
|
|
|
|
|
|
для: ROC7
(10.11.2009 в 13:57)
| | почему именно для файла .htaccess ?
с ними по умолчанию в httpd.conf разобрались такой записью
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
А с другим файлом у меня работает такое RewriteRule
другой способ внутренняя переадресация (без R) на непосредственно тот файл который отдаётся при 404. | |
|
|
|
|
|
|
|
для: heed
(10.11.2009 в 15:38)
| | А какже быть с другими файлами? Вообще-то на хосте все нормально, а вот на локалке ошибку вадаёт. :-( | |
|
|
|
|
|
|
|
для: ROC7
(10.11.2009 в 18:51)
| | Интересная ошибка,
интересно так-же какой версии сервер.
по идее это RewriteRule ^file.xx$ - [R=404]
это просто трюк, на самом деле в документации пишут
If the status code is outside the redirect range (300-399), then the Substitution string is dropped and rewriting is stopped as if the L flag was used
т.е значение должно быть в диапазоне 300-399, в противном случае
строка замены будет (опущена "не знаю насколько правильно перевёл")
, и преобразования прекратятся как при использовании [L]
На самом деле при стандартном отдатии страницы 404 просто посылается контент
(сгенерированный если она не просто статическая ) этой страницы
но в заголовке передаётся вместо цифры 200 цифра 404.
Отправку заголовка вместе со страницей можно реализовать
всевозможными способами, просто php-функцией header()
или при помощи mod_headers apache http://softtime.ru/forum/read.php?id_forum=5&id_theme=67229
, и я ещё не все возможные способы успел попробовать ,) | |
|
|
|
|
|
|
|
для: heed
(10.11.2009 в 22:27)
| | Версия сервера 2.0.63 Настройку делал следуя мануалу на php.su . Интересно что в логах не указана конкретная строка ошибки, просто записано как факт. | |
|
|
|
|
|
|
|
для: ROC7
(11.11.2009 в 16:10)
| | Может модуль какой подключить нужно, у меня ведь кроме mod_rewrite ничего больше не подключено | |
|
|
|