2014-09-07 3 views
0

У меня есть ниже URLHtaccess Перенаправление на новый адрес

www.site.com/Photo/Actor/ActorName/GalleryName/2 

Здесь Фото и Актер статические строки в URL
ActorName и GalleryName «s являются динамическими
- индекс фотографии ..

Как я могу перенаправить этот адрес Паттен к следующему

www.site.com/Actor/ActorName/GalleryName/Photo/2 

Я меняю формат сайта URL. мой сайт уже хорошо просканирован и хорошо проиндексирован в Google, поэтому я хочу перенаправить URL-адреса в новый формат, поэтому в настоящее время индексированные URL-адреса не умирают.

+0

У вас есть '.htaccess' уже на месте? Используете ли вы какую-либо CMS, например WordPress или подобное? – Prix

+0

да. используя .htaccess, я в настоящее время реализую все перенаправления. Не использовать CMS. –

+0

обязательно .. осуществление это текущий .. –

ответ

1

Вы можете динамически переписать следующим образом:

RewriteRule ^(Photo)/(Actor)/([^/]+)/([^/]+)/([0-9]+)$ /$2/$3/$4/$1/$5 [R=302,NC,L] 

Для дальнейшего объяснения его:

^(Photo)/(Actor)/([^/]+)/([^/]+)/([0-9]+)$ 

Это означает, что оно начинается с Photo/Actor/ActorName/GalleryName/Numbers.

Затем перенаправить на Actor/ActorName/GalleryName/Photo/Numbers с использованием постоянной переадресации 301.

/$2/$3/$4/$1/$5 означает переустройство вышеупомянутого.


Имейте в виду, я использую R=302 на коде выше, и вы также должны использовать R=302, пока вы не убедитесь, что он полностью работает с вашими потребностями, то вы смело можете переключить его в R=301.

Это необходимо для предотвращения кэширования вашего браузера с помощью предыдущих попыток, чтобы вы могли видеть, работает ли он или нет, пока он не станет окончательным.

Если вы уже делали предыдущие попытки, я предлагаю вам использовать другой браузер для проверки предпочтительного URL-адреса, который вы не использовали для доступа к сайту, чтобы убедиться, что он не получает доступ к кешированной информации.

+0

Perfect. Это перенаправление работает. Не эксперт по htaccess. изучая его. –

+1

@ ChiranjeeviPadala рада, что это сработало для вас :) вот хорошее введение в mod_rewrite, если вы хотите читать и учиться больше. https://httpd.apache.org/docs/2.2/rewrite/intro.html – Prix

+0

Thanx для вашего предложения и решения. –

1
RewriteRule ^Photo/Actor/([^/]+)/([^/]+)/(\d+) Actor/$1/$2/Photo/$3 [L,R=301] 
Смежные вопросы