Mode_rewrite

P
На сайте с 26.02.2002
Offline
73
651

При разборе url теряется '+'. Как этого можно избежать?

Например,

Url = '/search/pocket/rover_pc_p3+.php'

RewriteEngine On

RewriteRule search/([^/]+)/([^\.]+).php$ /display.php?choice=search&label_cat=$1&search_label=$2

Price OK - у нас самые свежие цены! (http://www.priceok.ru)
[Удален]
#1

Символ "+" в регулярных выражениях означает повторение предыдущего символа (группы символов) 1 и более раз. Если нужно проверять соответствие строки этому символу, ставь перед ним слеш.

RewriteRule search/([^/]\+)/([^\.]\+).php$ /display.php?choice=search&label_cat=$1&search_label=$2

[Удален]
#2

Только пример всё равно не рабочий, url под правило не попадет.

P
На сайте с 26.02.2002
Offline
73
#3
Как писал Interitus
Символ "+" в регулярных выражениях означает повторение предыдущего символа (группы символов) 1 и более раз. Если нужно проверять соответствие строки этому символу, ставь перед ним слеш.
RewriteRule search/([^/]\+)/([^\.]\+).php$ /display.php?choice=search&label_cat=$1&search_label=$2

вообще-то слеш тут не причем.

...([^\.]+)\.php$ должен был бы вырезать все: плюсы, минусы и т.д. до точки.

Проблема же возникла из-за того что "+" видимо является

каким-то спец символом url и поэтому не выцепляется. Похоже придетсязаменять все "+" на plus

[Удален]
#4

И точно, глупость полную я написал... Ночью хуже соображаю :)

А эта конструкция не работает только если плюс встречается?

P
На сайте с 26.02.2002
Offline
73
#5
Как писал Interitus
И точно, глупость полную я написал... Ночью хуже соображаю :)
А эта конструкция не работает только если плюс встречается?

да, другие обрабатывались нормально

здесь же в search_label попадает только rover_pc_p3

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