ZuckBin Posté 16 Décembre 2009 Posté 16 Décembre 2009 Bonjour, Je n'arrive pas a cumuler ces 2 actions: une ré écriture + une 301 sur cette url: RewriteRule ^horoscope/horoscope-annuel-([0-9]+)\.html$ /horoscope/horoscope-annuel.php [NC,L] je veux que /horoscope/horoscope-annuel.php soit regdirige sur horoscope/horoscope-annuel-2010.html, et l'anne prochaine sur horoscope/horoscope-annuel-2011.html, ... Merci de votre aide, Cordialement.
Jeanluc Posté 16 Décembre 2009 Posté 16 Décembre 2009 Bonjour, Pourrais-tu clarifier ta demande ? L'internaute devra-t-il taper http://www.domaine.com/horoscope/horoscope-annuel.php ou http://www.domaine.com/horoscope/horoscope-annuel-2010.html ? Jean-Luc
Jeanluc Posté 17 Décembre 2009 Posté 17 Décembre 2009 Essaie ceci: Options +FollowSymlinksRewriteEngine on RewriteRule ^horoscope/horoscope-annuel-([0-9]+)\.html$ /horoscope/horoscope-annuel.php [L,R=301] Jean-Luc
Dan Posté 17 Décembre 2009 Posté 17 Décembre 2009 Un truc en plus ..s'il ne veut pas que les horoscopes de toutes les années pointent vers exactement le même résultat RewriteRule ^horoscope/horoscope-annuel-([0-9]+)\.html$ /horoscope/horoscope-annuel.php?annee=$1 [L,R=301] Il reste à gérer dans horoscope-annuel.php la page à renvoyer pour les années inexistantes...
ZuckBin Posté 17 Décembre 2009 Auteur Posté 17 Décembre 2009 Un truc en plus ..s'il ne veut pas que les horoscopes de toutes les années pointent vers exactement le même résultat RewriteRule ^horoscope/horoscope-annuel-([0-9]+)\.html$ /horoscope/horoscope-annuel.php?annee=$1 [L,R=301] Il reste à gérer dans horoscope-annuel.php la page à renvoyer pour les années inexistantes... J'ai modifier ma regle, j'ai enlever le mot annuel dans l'url, donc je souhaite avoir comme lien: http://domaine.com/horoscope/horoscope-2010.html et que mon ancienne page: http://domaine.com/horoscope/horoscope-annuel.php soit redirigé sur la nouvelle url http://domaine.com/horoscope/horoscope-2010.html en 301, ca fonctionne pas, ca me fait: /horoscope/horoscope-annuel.php?annee=2010 dans le navigateur au clic sur le lien: http://domaine.com/horoscope/horoscope-2010.html Merci
Jeanluc Posté 17 Décembre 2009 Posté 17 Décembre 2009 /horoscope/horoscope-annuel.php?annee=2010 dans le navigateur au clic sur le lien: http://domaine.com/horoscope/horoscope-2010.html Si quand tu cliques sur le lien http://domaine.com/horoscope/horoscope-2010.html, c'est /horoscope/horoscope-annuel.php?annee=2010 qui apparaît dans la barre d'adresse du navigateur, cela veut dire que tu rediriges bien http://domaine.com/horoscope/horoscope-2010.html vers /horoscope/horoscope-annuel.php?annee=2010. Il y a manifestement un problème de vocabulaire dans ta question. Dis-nous plutôt : - quel est le lien que doit cliquer le visiteur - ce qui doit apparaître dans la barre d'adresse - le script qui doit s'éxécuter A partir de là, on pourra t'aider plus efficacement. Jean-Luc
ZuckBin Posté 17 Décembre 2009 Auteur Posté 17 Décembre 2009 (modifié) -Le visiteur doit cliquer sur le lien de cette forme: /horoscope/horoscope-2010.html et ca doit apparaitre sous cette forme dans la barre d'adresse. -Le script qui doit s'executer et est physiquement sur le serveur est le fichier suivant dans le répertoire: /horoscope/horoscope-annuel.php Donc si le visiteur clique sur l'ancien lien venant d'un moteur de recherche: /horoscope/horoscope-annuel.php, je veux que ca soit redirigé en 301 sur /horoscope/horoscope-2010.html. Merci. Modifié 17 Décembre 2009 par ZuckBin
captain_torche Posté 17 Décembre 2009 Posté 17 Décembre 2009 La première partie est facile à réaliser, mais pas la seconde : elle entraînerait une boucle infinie. Par contre, pourquoi tiens-tu tant à changer l'url de ta page, si elle est déjà positionnée dans les moteurs de recherche ?
Jeanluc Posté 17 Décembre 2009 Posté 17 Décembre 2009 Essaie ceci: RewriteRule ^horoscope/horoscope-annuel-([0-9]+)\.html$ /horoscope/horoscope-annuel.php[L]RewriteCond %{REQUEST_URI} ^/horoscope/horoscope-annuel.php$RewriteRule .* /horoscope/horoscope-annuel-2010.html [L,R=301] La première ligne provoque l'exécution du script et la seconde partie provoque la redirection quand l'URL est /horoscope/horoscope-annuel.php. Non testé: sans garantie! Jean-Luc
ZuckBin Posté 17 Décembre 2009 Auteur Posté 17 Décembre 2009 (modifié) La redirection 301 fonctionne sauf que maintenant l'url /horoscope/horoscope-2010.html me retourne: The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. * This problem can sometimes be caused by disabling or refusing to accept cookies. Je sais plus quoi faire. C'est impossible ce que je demande ? Je vais finir par renomer le fichier php, et faire une 301 de base si c'est pas possible. Modifié 17 Décembre 2009 par ZuckBin
captain_torche Posté 17 Décembre 2009 Posté 17 Décembre 2009 Comme je te l'ai dit plus haut, tu viens de créer une boucle infinie. Je repose ma question : "pourquoi veux-tu renommer ta page, alors qu'elle semble déjà positionnée ?"
ZuckBin Posté 17 Décembre 2009 Auteur Posté 17 Décembre 2009 Elle n'est pas correctement positionnée. Il faut pouvoir l'optimiser sur l'année, ici 2010 dans l'url
captain_torche Posté 17 Décembre 2009 Posté 17 Décembre 2009 Je doute qu'ajouter le terme dans l'url soit efficace. Ce sont plutôt les critères dans la page qu'il te faudra revoir.
Jeanluc Posté 17 Décembre 2009 Posté 17 Décembre 2009 Ceci devrait fonctionner comme tu le demandes: RewriteRule ^horoscope/horoscope-annuel-([0-9]+)\.html$ /horoscope/horoscope-annuel.php[L]RewriteCond %{THE_REQUEST} ^GET\ /horoscope/horoscope-annuel.php\ HTTP/RewriteRule .* /horoscope/horoscope-annuel-2010.html [L,R=301] En tout cas, ça fonctionne chez moi! Je ne sais pas exactement pourquoi ma proposition précédente provoque la boucle infinie, alors que je retestais l'URL. Jean-Luc
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant