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

Форум Apache

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

 

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

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

тема: Простейшее правило работает... странно.
 
 автор: Loki   (02.03.2007 в 19:47)   письмо автору
 
 

имеется следующий файл .htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase / 
RewriteRule ^(.*)$ index.php?url=$1 [L]

в итоге получаем

Array ( [url] => index.php )

причем, это правило срабатывает даже если перед ним есть более приоритетные с флагом L

   
 
 автор: glsv (Дизайнер)   (03.03.2007 в 09:08)   письмо автору
 
   для: Loki   (02.03.2007 в 19:47)
 

>причем, это правило срабатывает даже если перед ним есть более приоритетные с флагом L

А когда приоритетные сработают и обработка закончится по флагу [L], то будет создан новый "преобразованный запрос". И этот новый запрос снова будет обрабатываться через mod_rewrite с самого начала. И вот на повторных обработках, видимо, и срабатывает "простое правило", перекрывая результатыт предыдущих преобразований.

   
 
 автор: Loki   (03.03.2007 в 10:43)   письмо автору
 
   для: glsv (Дизайнер)   (03.03.2007 в 09:08)
 

Но почему в вышеописанном случае правило работает так странно?
например

RewriteRule ^text(.*)$ index.php?url=$1

или

RewriteRule ^([a-z/]*)$ index.php?url=$1

Обрабатываются правильно... чем им просто точка не угодила?

   
Rambler's Top100
вверх

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