Найти остаток строки запроса перед определенным словом в файле mod_rewrite - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть URL /content/sell.htm?ld=a&id=b&_escape_fragment_=how-it-works и я хочу перенаправить его в следующий формат URL /details?pageIdent=<parameter after _escape_fragment_> & <rest of query string as it is>, используя mod_rewrite.

Так что в этом случае URL-адрес сервера будет /details?pageIdent=how-it-works&ld=a&id=b.

Я написал следующее правило перезаписи для получения значения параметра _escape_fragment_, но не могу написать правило, чтобы получить остаток строки запросаis.

RewriteCond %{QUERY_STRING} (?:^|&)_escaped_fragment_=([^&]+)
RewriteRule ^/content/sell\.htm /details?pageIdent=%1 [L,R=301]

Может ли кто-нибудь помочь мне получить остаток строки запроса и добавить его в конец окончательного URL, как есть.Надеюсь, я имел смысл объяснять себя.

Также, если кто-то мог объяснить, что означает регулярное выражение (?:^|&).Я просто скопировал его откуда-то.

Спасибо

Джитендра

1 Ответ

0 голосов
/ 06 декабря 2011

Разве прохождение QSA не дает того, что вы хотите? Мне было бы интересно узнать, как это работает, когда в вашем правиле перезаписи уже есть аргументы.

RewriteRule ^/content/sell\.htm /details?pageIdent=%1 [L,R=301,QSA]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...