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

Форум Apache

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

 

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

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

тема: Mod_rewrite не работают одинаковые по смыслу правила
 
 автор: gofree   (28.10.2009 в 23:50)   письмо автору
 
 

RewriteRule ^([^/]*)/s([^/]*)$ /index.php?m=$1&page=$2 [L]
RewriteRule ^([^/]*)/p([^/]*)$ /index.php?m=$1&act=$2 [L]

Почему если пишу так, то они перестают работать, а если одно, то работает.

  Ответить  
 
 автор: serjinio   (29.10.2009 в 16:30)   письмо автору
 
   для: gofree   (28.10.2009 в 23:50)
 

[L]

  Ответить  
 
 автор: cheops   (30.10.2009 в 14:26)   письмо автору
 
   для: gofree   (28.10.2009 в 23:50)
 

Возможно дело действительно в L, которое означает, что если найдено соответствие, то все последующие инструкции игнорируются.

  Ответить  
 
 автор: gOFREe   (04.11.2009 в 22:55)   письмо автору
 
   для: cheops   (30.10.2009 в 14:26)
 

Да, действительно, ставлю [N] но ничего не меняется. Как это исправить?

  Ответить  
 
 автор: gOFREe   (08.11.2009 в 12:48)   письмо автору
 
   для: gOFREe   (04.11.2009 в 22:55)
 

Подскажите как это исправить, прочитал про все флаги, а вот какой ставить понять не могу.

  Ответить  
 
 автор: serjinio   (09.11.2009 в 01:27)   письмо автору
 
   для: gofree   (28.10.2009 в 23:50)
 

Напишите какие значения будут в m ,page, act
предварительно можно так
RewriteRule ^([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)/$ index.php?m=$1&page=$2&act=$3 [L]
или
RewriteRule ^([A-Za-z0-9]+)/page_([0-9]{1,7})/$ index.php?m=$1&page=$2 [L]
RewriteRule ^([A-Za-z0-9]+)/act([A-Za-z0-9]+)/$ index.php?m=$1&act=$2 [L]

  Ответить  
 
 автор: gOFREe   (09.11.2009 в 11:52)   письмо автору
 
   для: serjinio   (09.11.2009 в 01:27)
 

Не помогает (
RewriteRule ^([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)$ /index.php?m=$1&a=$2 [L]
RewriteRule ^([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)$ /index.php?m=$1&link=$2 [L]
Так тоже не работает, первое условие работает, второе нет. При чем не важно какой я флаг ставлю.

  Ответить  
 
 автор: gOFREe   (10.11.2009 в 19:34)   письмо автору
 
   для: gOFREe   (09.11.2009 в 11:52)
 

Есть же решения такой проблемы, весь инет уже облазил, никак разобраться не могу

  Ответить  
 
 автор: heed   (10.11.2009 в 22:00)   письмо автору
 
   для: gOFREe   (10.11.2009 в 19:34)
 

самое первое написаное Вами у меня работает
слегка изменял /index.php? на ?
Options +FollowSymlinks
RewriteEngine On
# RewriteBase /

RewriteRule ^([^/]*)/s([^/]*)$ ?m=$1&page=$2 [L]
RewriteRule ^([^/]*)/p([^/]*)$ ?m=$1&act=$2 [L]

проверял запросами a/sage_1 и a/page_1
выводы
[m] => a
[page] => age_1
и
[m] => a
[act] => age_1

последнее приведённое как-то бессмысленно, из двух абсолютно одинаковых правил замены первое заменит всё на совсем другое, а второе просто не совпадёт после этого

  Ответить  
 
 автор: gOFREe   (11.11.2009 в 13:24)   письмо автору
 
   для: heed   (10.11.2009 в 22:00)
 

Спасибо!

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

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