2011-09-16 4 views
0

Je suis bloqué. Je ne sais pas grand-chose sur htaccess et je suis juste en train de le faire. Quelqu'un peut-il regarder le code et me dire ce qui ne va pas avec. Je veux simplement rediriger un ancien site vers un nouveau site et les seuls changements sont le domaine, une variable qui va correspondre entre les anciennes/nouvelles pages et un mot ajouté à la structure permalien.htaccess 301 redirections - besoin d'aide

est ici une des variantes que je l'ai essayé jusqu'à présent:

Options +FolowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^.*domain.com/matchingword1-(.*)-matchingword2-matchingword3/ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com/matchingword1-$1-matchingword2-differentword-matchingword3/ [R=301,L] 

La section (.*) sera exactement le même que 1 $ sur le nouveau domaine, mais ce permalien est un peu différent. La partie du permalien (.*) sera composée de plusieurs mots et nombres.

Par exemple: matchingword1-this-page-is-1st-matchingword2-matchingword3/ redirige vers newdomain.com/matchingword1-this-page-is-1st-matchingword2-differentword-matchingword3

Répondre

1
Options +FolowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^.*domain.com/matchingword1-(.*)-matchingword2-matchingword3/ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com%{REQUEST_URI} [R=301,L] 
+0

Quel est le point d'avoir 'RewriteCond% {REQUEST_URI}' ici si vous URL correspondant déjà dans le modèle de RewriteRule? – LazyOne

+0

@LazyOne Je pense qu'il veut rediriger uniquement les URL qui correspondent au format qu'il a donné! – undone

+0

Oui, c'est correct. Mais pourquoi avez-vous besoin de cela si vous pouvez faire correspondre/faire la même chose dans le modèle RewriteRule lui-même (1 ligne de moins, 1 comparaison de moins = une exécution un peu plus rapide)? – LazyOne