И снова mod_rewrite...

ISDN :)
На сайте с 28.02.2006
Offline
171
528

Сегодня столкнулся с такой проблемкой...

Правило вида:

RewriteRule ^([a-z][A-Z]*)_([a-z][0-9]*).html index.php?dir=$1&page=$2 [NC]

Переписывает файл в page_m52.html (из папки /page/m52.txt), но если создать файлик в той же папке, например 4582.txt и в строке браузера прописать page_4582.html, он выдает 404 ошибку.

Помогите плз правельно прописать правело, чтобы работало в 2-х вариантах.

dkameleon
На сайте с 09.12.2005
Offline
386
#1

RewriteRule ^([a-z][A-Z]*)_([a-z]*[0-9]*).html index.php?dir=$1&page=$2 [NC]

должно быть норм.

Дизайн интерьера (http://balabukha.com/)
ISDN :)
На сайте с 28.02.2006
Offline
171
#2
dkameleon:
RewriteRule ^([a-z][A-Z]*)_([a-z]*[0-9]*).html index.php?dir=$1&page=$2 [NC]

должно быть норм.

Спасибо, выручил сильно! ;)

-
На сайте с 07.12.2005
Offline
97
-K-
#3

Не совсем верное у Вас правило.

Я бы написал так:


RewriteRule ^([a-z]+)_([a-z]?[0-9]+).html index.php?dir=$1&page=$2 [NC,L]
sniffer
На сайте с 15.12.2005
Offline
80
#4

Еще не большая поправочка:

RewriteRule ^([a-z]+)_([a-z]?[0-9]+)[слэш].html$ index.php?dir=$1&page=$2 [NC,L]

1. Заэскейпить точку(вместо [слэш] поставить слэш, форум не дает) - без этого работает на урле "ppp_d12html" и теряется двойка;

2. Символ конца строки $ - для порядку :)

BeeR or not to BeeR? (вот в чем вопрос)
-
На сайте с 07.12.2005
Offline
97
-K-
#5
sniffer:

2. Символ конца строки $ - для порядку :)

А вот этого мне кажется лучше не делать. У кого отключены куки (у поисковиков в том числе) может еще идентификатор сессии дописываться и правило не сработает.

sniffer
На сайте с 15.12.2005
Offline
80
#6
-K-:
А вот этого мне кажется лучше не делать. У кого отключены куки (у поисковиков в том числе) может еще идентификатор сессии дописываться и правило не сработает.

При чем здесь куки так и не понял.

А хотите дописывать идентефикатор сессии - пожалуйста. Правило сработает. Проверено.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий