301 редирект .htaccess id to id

yaushev
На сайте с 02.11.2012
Offline
27
632

Здравствуйте, прошу подсказать в решении задачи.

URL вида: .../genre/{жанр}?type=3

Структура теперь поменялась, необходимо редиректить на .../genre/{жанр}?type=popular

Перепробовал массу вариантов, кидает на страницу с .../genre/{жанр}

Апач показывает что ссылка идет на страницу: "-"

Заранее спасибо.

yaushev
На сайте с 02.11.2012
Offline
27
#1

Все еще актуально, вопрос не решен.

siv1987
На сайте с 02.04.2009
Offline
427
#2

RewriteEngine On

RewriteCond %{QUERY_STRING} =type=3

RewriteRule ^(genre/жанр) /$1?type=popular [R=301,L]

yaushev
На сайте с 02.11.2012
Offline
27
#3
siv1987:
RewriteEngine On
RewriteCond %{QUERY_STRING} =type=3
RewriteRule ^(genre/жанр) /$1?type=popular [R=301,L]

Дело в том, что {жанр} - это динамичный показатель, он меняется в зависимости от выбранного жанра. Пример:

/genre/rock?...

/genre/pop?...

и так далее...

На сколько я понимаю, динамичные данные можно подменять тоже какими то данными?! Не подскажите?

siv1987
На сайте с 02.04.2009
Offline
427
#4

^(genre/[^/]+)$

yaushev
На сайте с 02.11.2012
Offline
27
#5
siv1987:
^(genre/[^/]+)$

К сожалению кидает на /genre/жанр

siv1987
На сайте с 02.04.2009
Offline
427
#6

Не может он кидать на /genre/жанр. Значит либо вы что-то лишнее добавляете, либо там есть какие-то правила которые обрезают параметры, либо не в том месте вставляете блок, он должен быть в самом вверху сразу после RewriteEngine On.

yaushev
На сайте с 02.11.2012
Offline
27
#7
siv1987:
Не может он кидать на /genre/жанр. Значит либо вы что-то лишнее добавляете, либо там есть какие-то правила которые обрезают параметры, либо не в том месте вставляете блок, он должен быть в самом вверху сразу после RewriteEngine On.

Сейчас выглядит так.

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} =type=3
RewriteRule ^(genre/[^/]+)$ /$1?type=popular [R=301,L]
#RewriteBase /path/to/app
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^web/(.*) web/$1 [L]
RewriteRule ^check.php check.php [L]
RewriteRule ^update.php update.php [L]
RewriteRule ^ index.php [L]

Order Allow,Deny
Allow from all
Deny from 46.28.70.183

Все, вопрос решил, недоглядел свою оплошность. Спасибо вам большое и + в репутацию.

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