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

Форум Apache

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

 

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

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

тема: mod rewrite: что делают !-d и !-f ?
 
 автор: nikolayers   (28.01.2012 в 19:43)   письмо автору
 
 

ЧТо делает код ниже знаю
RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) index.php?news=$1 [L,QSA]


но если исправить на
RewriteEngine On 
RewriteRule (.*) index.php?news=$1 [L,QSA]

код все равно будет работать, вопрос - что делают удаленные строки?

  Ответить  
 
 автор: cheops   (28.01.2012 в 20:02)   письмо автору
 
   для: nikolayers   (28.01.2012 в 19:43)
 

Они проверяют, чтобы запрос не закрывал собой реальные файлы и папки. Странно, что у вас код работает... в моем представлении должен бы зацикливаться.

  Ответить  
 
 автор: nikolayers   (28.01.2012 в 20:03)   письмо автору
 
   для: cheops   (28.01.2012 в 20:02)
 

если реальных папок не существует,эти 2 строки не нужны?

  Ответить  
 
 автор: cheops   (28.01.2012 в 20:06)   письмо автору
 
   для: nikolayers   (28.01.2012 в 20:03)
 

Да, но только строка !-d, строка с !-f отвечает за файлы, они присутствуют всегда, хотя бы index.php - это файл и чтобы правило не реагировало на него, когда получается каноническое имя, условие с !-f нужно.

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

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