2011-07-09 4 views
1

Est-ce que quelqu'un sait comment faire un trafic redirection 301 d'un domaine à l'autre - y compris tous les mêmes éléments d'URL après le nom de domaine - et appliquer la même règle à tous les liens possibles sans l'écrire pour chaque URL séparément - exemple serait quelque chose comme ceci:.htaccess 301 redirection

http://www.olddomain.com/catalogue/category/fruits/pg/2.html 

rediriger vers:

http://www.newdomain.com/catalogue/category/fruits/pg/2.html 

au moment où j'ai quelque chose comme ceci:

RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$ 
RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com" [R=301,L] 

mais cela ne fonctionnera pas pour la situation suivante, par exemple:

http://www.olddomain.com/login.html 

simplement ne rediriger vers le nouveau domaine et garder le /login.html après.

Des indices?

Répondre

2

Avez-vous essayé simplement:

Redirect 301/http://newdomain.com/ 

Dans le dossier racine de olddomain.com

1

Youre RewriteRule est incorrect. Vous ne redirigeant http://www.olddomain.com/ mais pas /login.html

Essayez de modifier la règle de réécriture pour inclure tous les chemins sur l'ancien domaine:

RewriteRule ^(.*)$ http://www.newdomain.com$1 [R=301,L] 
+0

oui - mais celui-ci ne va pas me rediriger vers 'http://www.newdomain.com/login.html' - il me redirigera directement à 'http://www.newdomain.com' si je tapez 'http://www.olddomain.com/login.html' - donc pas vraiment ce que je cherche – user398341

+0

@ user398341 Vous avez manqué le 1 $ à la fin. (. *) capture le chemin de l'ancien domaine et je me réfère à cela en utilisant $ 1 dans la redirection. Donc, il devrait rediriger olddomain.com/login.html à newdomain.com/login.html – nxt

+0

ne semble pas faire de différence, j'ai peur. – user398341

0

Ok - après beaucoup de googler que j'ai trouvé la solution - qui se résume à deux lignes simples:

RewriteCond %{HTTP_HOST} !^www\.newdomain\.com$ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] 

Merci à tous pour votre participation.