Как заставить RewriteRule не подставлять часть старого URL в новый?

anser06
На сайте с 11.03.2006
Offline
276
539

Даны однотипные ссылки вида:

http://www.alsak.ru/index.php?option=com_zadachnik&Itemid=193&page=27
http://www.alsak.ru/index.php?option=com_zadachnik&Itemid=193&page=78
http://www.alsak.ru/index.php?option=com_zadachnik&Itemid=193&page=38

Требуется 301-й редирект на http://web-physics.ru/index.php/baza-zadach

Составил правило для .htaccess:

RewriteCond %{QUERY_STRING} option=com\_zadachnik(.*)
RewriteRule ^(.*)$ http://web-physics.ru/index.php/baza-zadach [R=301,L]

Оно переправляет с ошибкой, добавляя в конец URL ненужную часть перевоначального запроса, например:

http://web-physics.ru/index.php/baza-zadach?option=com_zadachnik&Itemid=193&page=57

Вопрос - как перенаправить правильно?

Я нагуглил только это, но использовать не получается и примеров не нашел:

Существует специальная строка подстановки вида '-' которая означает: НЕТ подстановки! Звучит глупо? Нет, это полезно для правил преобразования которые только проверяют некоторые URL однако не производят подстановок, т.е., в связке с флагом C (цепочка) возможно иметь более чем один шаблон, применяемый перед проведением непосредственно самой подстановки.

http://www.shtogrin.com/library/web/mod_rewrite/doc/RewriteRule/

Помогите, пожалуйста.

IL
На сайте с 20.04.2007
Offline
418
#1

Вопросительный знак:

RewriteCond %{QUERY_STRING} option=com\_zadachnik(.*)
RewriteRule ^(.*)$ http://web-physics.ru/index.php/baza-zadach? [R=301,L]
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
anser06
На сайте с 11.03.2006
Offline
276
#2

Гениально! Заработало, спасибо.

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