Aller au contenu

ré-écriture + 301


Sujets conseillés

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

/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

Lien vers le commentaire
Partager sur d’autres sites

-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é par ZuckBin
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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é par ZuckBin
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...