2010-05-03 7 views
0

Nous avions un vieux site Web de coldfusion il y a quelques années et j'ai récemment réalisé qu'il y avait encore de vieux liens flottants qui causaient 404 erreurs. Je ne sais pas ce qui était sur l'une des pages et je veux juste les rediriger vers une nouvelle page statique. Notre nouveau site est un site Joomla 1.5 avec les URL SEF activées.Rediriger toutes les URL dynamiques d'un ancien site vers une seule URL statique

Une ancienne URL ressemblerait à ceci: http://www.example.com/content.cfm?id=2010 où la seule différence entre les URL serait le nombre après id=. Je souhaite rediriger toute URL commençant par content.cfm vers la page statique http://www.example.com/oops-thats-an-old-page qui répertorie des liens utiles pour trouver ce qu'ils recherchent.

Je suis en train d'accomplir avec succès ce avec le code suivant dans le fichier .htaccess:

RewriteCond %{QUERY_STRING} id= 
RewriteRule (.*) http://www.example.com/$1? [R=301] 
RewriteRule ^content\.cfm$ /oops-thats-an-old-page [R=301,L] 

Je suis nouveau à la réécriture des URL et je ne suis pas sûr que ce soit la meilleure façon de le faire. Je suis également préoccupé par le fait qu'il peut freiner les URL non-sef joomla que je ne connais pas, car ils ont aussi le id= en eux. Puis-je faire en sorte que la réécriture soit conditionnée par le fait qu'elle commence par content.cfm ou non?

Répondre

0

La première règle sera déjà appliquée lorsque la requête contient id=. Si vous ne voulez pas cela, mais plutôt redirigez que si /content.cfm avec requête contenant id= a été demandé, essayez cette règle:

RewriteCond %{QUERY_STRING} id= 
RewriteRule ^content\.cfm$ /oops-thats-an-old-page? [R=301,L] 
Questions connexes