Редирект со старых динамических URL на новые статические

NeverMore

Новичок
Редирект со старых динамических URL на новые статические

Options +FollowSymlinks
RewriteEngine on

# index Rewrite #
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/(.*).html?$ index.php?page=$1&razdel=$2&producer=$3 [NC,L] # 3
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?page=$1&razdel=$2 [NC,L] # 2
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1 [NC,L] # 1
RewriteRule ^/?$ index.php [NC,L] # index

# Redirect #
RewriteCond %{QUERY_STRING} ^page=([^\&]+)$
RewriteRule ^page=([^\&]+)&razdel=([^\&]+)&producer=([^\&]+)$ index.php?page=$1&razdel=$2&producer=$3 [R=301]

Страница index.php и .htaccess в котором содержатся указания находится в http://site/dir/dir/
Первая часть скрипта работает.
При запросе вида http://site/dir/dir/1/2/3.html передаются
$_GET['page'] = 1;
$_GET['razdel'] = 2;
$_GET['producer'] = 3;

Однако для поисковых систем необходим перманентный редирект со старых URL.
Попытался реализовать сам - либо рекурсивная переадресация, либо вообще не работает :(
 
чтобы не было рекурсий можно при первом редиректе переписать не только URL но какой либо атрибут чтобы второй раз он проверялся rewritecond и редирект не повторялся
 
ты какие URL в какие преобразовывать хочешь? а то в названии пишешь одно, а преобразовываешь статические в динамические

RewriteRule ^page=([^\&]+)&razdel=([^\&]+)&producer=([^\&]+)$ index.php?page=$1&razdel=$2&producer=$3 [R=301]
параметры автоматически не доступны, только путь к сценарию

почему нельзя просто добавить флаг R=301 к RewriteRule секции # index Rewrite #, вместо добавления # Redirect #?

а предпринимать меры против рекурсии тут не вижу причин, у тебя она просто не должна возникать
 
x-yuri я хочу что бы все страницы были с ЧПУ вида
http://site/dir/dir/1/2/3.html
(преобразовав из http://site/dir/dir/index.php?page=1&razdel=2&producer=3)
Однако поисковые роботы, ссылки и закладки пользователей могут содержать старый вид без преобразований ЧПУ.
Именно для таких пользователей я хочу отправлять заголовки moved permanently на новый ЧПУ адрес.
 
чтобы не было рекурсий можно при первом редиректе переписать не только URL но какой либо атрибут чтобы второй раз он проверялся rewritecond и редирект не повторялся
NeverMore ну значит тебе хороший совет дали
 
Сверху