Вопрос по mod_rewrite

Nicca

Новичок
Вопрос по mod_rewrite

Есть 2 таких записи:

RewriteRule ^([a-z]{2})/service/([\S]{3,30})/$ service.php?lng=$1&sub=$2 [QSA]
RewriteRule ^([a-z]{2})/service/$ service.php?lng=$1 [QSA]

Когда вводишь:
site.com/ru/service/ - страница показывается
когда:
site.com/ru/service/vneshnjaja_reklama/ - пишет что страница не найдена

Not Found
The requested URL /services/vneshnjaja_reklama/ was not found on this server.
Подсказка Денвера

Почему так выходит?
 

Nicca

Новичок
Поменял.
RewriteRule ^([a-z]{2})/service/([\S]{3,30})/$ service.php?lng=$1&sub=$2 [QSA]
RewriteRule ^([a-z]{2})/service/$ service.php?lng=$1 [QSA]

Та же ошибка:

Not Found
The requested URL /service/vneshnjaja_reklama/ was not found on this server.

Подсказка Денвера
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
1. Последний слеш попадает в \S. В иготе твое правило не работает.
2. Ненадо в карманы реврайта "пихать" все символы кроме "пробельных"
3. Вряд-ли тебе нужна последующая обработка реврайта - ставь L
4. Отключаешь регистрозависимость - NC (по ситуации)

+
В итоге получаешь:
RewriteRule ^([a-z]{2})/service/([a-z0-9_-]{3,30})/?$ service.php?lng=$1&sub=$2 [QSA,L,NC]
 
Сверху