2014-09-07 4 views
0

J'ai ci-dessous urlhtaccess Rediriger à la nouvelle URL

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

Ici photo et Acteur sont des chaînes statiques dans url
de ActorName et GalleryName « s sont dynamiques
est l'index des photos ..

Comment puis-je redirigez patten URL pour les éléments suivants

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

Je change mon format URL du site. mon site est déjà bien crawlé et bien indexé dans google donc je veux rediriger les urls vers un nouveau format donc les urls indexées actuellement ne meurent pas.

+0

Avez-vous un '.htaccess' déjà en place? Utilisez-vous un CMS comme WordPress ou similaire? – Prix

+0

oui. en utilisant .htaccess je suis en train de mettre en œuvre toutes les redirections. Ne pas utiliser le CMS. –

+0

sûr .. la mise en œuvre actuelle .. –

Répondre

1

Vous pouvez dynamiquement réécrire comme suit:

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

Pour expliquer plus loin, il:

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

Cela signifie, si elle commence par Photo/Actor/ActorName/GalleryName/Numbers.

Puis rediriger vers Actor/ActorName/GalleryName/Photo/Numbers en utilisant une redirection 301 permanente. Le /$2/$3/$4/$1/$5 signifie le réordonnancement de ce qui précède.


Gardez à l'esprit que je utilise R=302 sur le code ci-dessus et vous devez également utiliser R=302 jusqu'à ce que vous confirmiez travaille pleinement à vos besoins, vous pouvez passer en toute sécurité à R=301. Ceci permet d'éviter que votre navigateur ne soit mis en cache avec des tentatives précédentes, vous pouvez donc voir si cela fonctionne ou pas jusqu'à ce que ce soit définitif. Si vous avez déjà effectué des tentatives précédentes, je vous suggère d'utiliser un navigateur différent pour tester l'URL préférée que vous n'avez pas utilisée pour accéder au site afin de vous assurer qu'il n'accède pas aux informations mises en cache.

+0

Parfait. Cette redirection fonctionne .. Pas un expert sur htaccess. l'apprendre. –

+1

@ChiranjeeviPadala heureux que cela a fonctionné pour vous :) voici une bonne introduction à mod_rewrite si vous voulez lire et en savoir plus. https://httpd.apache.org/docs/2.2/rewrite/intro.html – Prix

+0

Merci pour votre suggestion et votre solution. –

1
RewriteRule ^Photo/Actor/([^/]+)/([^/]+)/(\d+) Actor/$1/$2/Photo/$3 [L,R=301] 
Questions connexes