Знак плюс (+ литерал) в URL, чтобы переписать с mod_rewrite .. Как? - PullRequest
1 голос
/ 12 февраля 2011

Я пытаюсь переписать URL с помощью mod_rewrite.Проблема в том, что URL-адрес должен быть переписан, содержит литеральный знак + (плюс), и это также разделитель для переменных, которые мне нужно получить из URL-адреса ...

Текущие URL-адреса: www.domain.com/page/ 756 / нет / Сантехники + Лондон /

Я хочу, чтобы часть "Сантехники + Лондон" была взята и переписана как:

Новые ссылки: domain.com/pages/Plumbers/London/

Пробовал, но это не работает:

RewriteRule page /(.) / no /(.) \ + (. *) / / Pages / $ 2/ $ 3 / [R = 301, L]

Любая помощь будет принята с благодарностью!Заранее спасибо!

1 Ответ

2 голосов
/ 12 февраля 2011

Я бы поменял разделитель.

Ах, простая ошибка.

Точка (.) Сама по себе соответствует полному URI или соответствует любому одному символу Попробуйте изменить его на:

RewriteRule page/(.*)/no/(.*)\+(.*)/ /pages/$2/$3 [R=301,L]

(Мое регулярное выражение немного заржавело, но я верю, что это поможет.) Возможно, используйте не жадный оператор: (. *?)

...