2015-03-24 2 views
1

Я хотел бы перенаправить с старого канала на новый..htaccess 301 RedirectMatch на новый канал

из

www.example.com/**oldchannel**/article/12345 

в

www.example.com/**newchannel**/article/12345 

Может кто-нибудь сказать мне, почему это не работает?

RedirectMatch 301 ^/oldchannel/$ $1/newchannel$2 

ответ

1

Оно должно быть:

RewriteEngine On 
RewriteBase/

RewriteRule ^oldchannel/(.*)$ /newchannel/$1 [L,NC,R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

Значение должно быть захвачено из шаблона и обратно ссылки, которые будут использоваться в цели РИТ.

+0

Спасибо! : D @anubhava – grundig

+0

ok :) Возможно, вы могли бы также объяснить следующее: ниже перенаправления у меня есть следующее: «RewriteRule^(. +) $ Index.php? Url = $ 1 [QSA, L]». Когда я пытаюсь получить доступ к/oldchannel/article/12345, я перенаправлен на /newchannel/article/123456?url=/oldchannel/article/[email protected] – grundig

+0

Ваши правила в указанном порядке выше. Тест после очистки кеша браузера. – anubhava

Смежные вопросы