.htaccess 301 redirect

EM
На сайте с 16.12.2005
Offline
108
537

Здравствуйте коллеги! Час долбаюсь - помогите!

Почему не срабатывают конструкции назначения редиректа в файле .htaccess?

Содержимое

Options -Indexes

RewriteEngine on
RewriteBase /

Плюс одна из строк:

1)

RedirectMatch 301 ^/index\.php\?page=(.*)$ /info/$1.html 

2)

RewriteRule ^/index\.php\?page=(.*)$ /info/$1.html [R=301,L] 

Задача - сделать 301 редирект со страниц вида http://site.ru/index.php?page=z1 на http://site.ru/info/z1.html

Спасибо!

*** - это кв. скобки, вырезаются чего-то форумом.

[umka]
На сайте с 25.05.2008
Offline
456
#1

RewriteCond %{QUERY_STRING} ^page=(.*)$

RewriteRule ^index\.php$ /info/%1.html? [R=301,L]

Лог в помощь!
EM
На сайте с 16.12.2005
Offline
108
#2

Да, спасибо [umka], такой способ действительно работает. Не могу понять почему вариант с RedirectMatch - нет!

При этом аналогичная конструкция у меня успешно работает!?.

RedirectMatch 301 ^/directory/file-([0-9]+)\.html$ /directory/file.$1.html
[umka]
На сайте с 25.05.2008
Offline
456
#3

Всё, что после "?" — это query string.

Оно не попадает ни в RedirectMatch, ни в RewriteRule

AR
На сайте с 15.07.2011
Offline
0
#4

Подскажите пожалуйста, как 301 редирект сделать вот такой:

http://www.site.ru/index.php?option=com_content&task=view&id=11&Itemid=13 на http://www.site.ru/content/view/11/13/

Спасибо заранее!

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