[URL Rewriting] Comportement bizarre

Résolu/Fermé
gwenhael Messages postés 9 Date d'inscription mardi 5 septembre 2006 Statut Membre Dernière intervention 12 octobre 2008 - 15 févr. 2008 à 15:51
gwenhael Messages postés 9 Date d'inscription mardi 5 septembre 2006 Statut Membre Dernière intervention 12 octobre 2008 - 16 févr. 2008 à 10:25
Bonjour,
Voila j'ai un site sous apache2 dont j'ai modifié le type des urls:
Fut un temps mes urls étaient:
URL A : http://www.monSite.tld/maPage.php?info=monFichier.html
maintenant mes urls sont :
URL B : http://www.monSite.tld/info-monFichier
Tout en sachant que j'ai déjà des régles qui en partant des url B reecrivent des urls au modèle A pour mes scripts.
Je souhaiterais que lorsqu'un client se connecte en utilisant une url A il soit redirigé sur la page avec l'url B et qu'en plus un code 301 soit généré.
Quelles sont les régles qui faut inscrire dans le fichier .htaccess histoire qu'apache fasse ce qu'il doit faire ?
J'ai fait un paquet de recherche un peu partout et avec un peu tous les moteurs et j'ai strictement rien trouvé qui puisse répondre à mon problème.
Merci d'avance
Gwenhaël

2 réponses

voyageur59 Messages postés 1112 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 10 novembre 2009 132
15 févr. 2008 à 17:38
Bonjour,

C'est pas un truc de ce genre que vous cherchez:

<?php
header("ma_nouvelle_page");
?>



Sinon, j'ai pas compris le problème!

Peut vous aurez plus de chance dans le forum programmation!
0
gwenhael Messages postés 9 Date d'inscription mardi 5 septembre 2006 Statut Membre Dernière intervention 12 octobre 2008
16 févr. 2008 à 10:25
Bonjour,
Ben non c'est pas de la programmation.
Comme je le disais dans mon précédent post c'est dans le .htaccess que ça se passe.
En fait c'est apache qui se charge de prévenir le client de la redirection, le script n'est même pas encore exécuté.
Cela dit c'est bon j'ai trouvé j'avais en fait mal compris les régles de réécritures...

RewriteCond %{QUERY_STRING} info=([^.&]+)\.html
RewriteRule ^maPage\.php$ http://monSite.tld/infoTruc-%1 [R=301]

le QUERY_STRING ne porte que sur les paramètres passés ( après le ? dans l'url)
et le RewriteRule ne porte que sur la page demandée

Gwenhaël
0