Apache rewriterule с регулярными выражениями - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь переписать несколько страниц, как это ...

http://subdomain.domain.com/index.php?action=printpage;topic=12345.67

К этому ...

http://subdomain.domain.com/index.php/topic,12345.67.html

Я безуспешно пытался использовать ...

RewriteRule ^index\.php\?action=printpage;topic=([0-9]+)\.([0-9]+)$ http://subdomain.domain.com/index.php/topic,$1.$2.html [R=302]

Сервер Apache и другие не связанные с ним перезаписи работают нормально. Кто-нибудь может предложить какие-либо предложения? Благодаря.

1 Ответ

1 голос
/ 02 марта 2012

Вы не можете сопоставить строку запроса в RewriteRule, вам нужно использовать RewriteCond и обратную ссылку % :

RewriteCond %{QUERY_STRING} ^action=printpage;topic=([0-9]+)\.([0-9]+)$
RewriteRule ^index\.php$ http://subdomain.domain.com/index.php/topic,%1.%2.html? [R=302]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...