Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ошибка: invalid HTTP response code for flag R
 
 автор: ROC7   (10.11.2009 в 13:57)   письмо автору
 
 

Вот проблемный код:
RewriteRule ^\.htaccess$ - [R=404]
Как можно по-другому выдать 404 ошибку на запрос пользователя?

  Ответить  
 
 автор: heed   (10.11.2009 в 15:38)   письмо автору
 
   для: ROC7   (10.11.2009 в 13:57)
 

почему именно для файла .htaccess ?
с ними по умолчанию в httpd.conf разобрались такой записью
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>

А с другим файлом у меня работает такое RewriteRule

другой способ внутренняя переадресация (без R) на непосредственно тот файл который отдаётся при 404.

  Ответить  
 
 автор: ROC7   (10.11.2009 в 18:51)   письмо автору
 
   для: heed   (10.11.2009 в 15:38)
 

А какже быть с другими файлами? Вообще-то на хосте все нормально, а вот на локалке ошибку вадаёт. :-(

  Ответить  
 
 автор: heed   (10.11.2009 в 22:27)   письмо автору
 
   для: 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
, и я ещё не все возможные способы успел попробовать ,)

  Ответить  
 
 автор: ROC7   (11.11.2009 в 16:10)   письмо автору
 
   для: heed   (10.11.2009 в 22:27)
 

Версия сервера 2.0.63 Настройку делал следуя мануалу на php.su . Интересно что в логах не указана конкретная строка ошибки, просто записано как факт.

  Ответить  
 
 автор: ROC7   (11.11.2009 в 16:13)   письмо автору
 
   для: ROC7   (11.11.2009 в 16:10)
 

Может модуль какой подключить нужно, у меня ведь кроме mod_rewrite ничего больше не подключено

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования