Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache

Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache

Réponse
 
Outils de la discussion
Vieux 02/12/2008, 11h23   #1 (permalink)
Membre du Club
 
Date d'inscription: septembre 2008
Messages: 93
Par défaut RedirectPermanent ajoute des infos dans la redirection

Bonjour,

J'ai changé des noms de pages et j'obtiens un resultat qui fonctionne mais avec des infos en plus dans l'url !

Voici mon fichier htaccess

Code :
RedirectPermanent /ancien-repertoire1/ancienne-page1.htm http://www.mon-site.com/mon-nouveau-repertoire1/nouvelle-page1.htm
Options -Multiviews
RewriteEngine on
RewriteRule ^(.*)\.html$ index.php?mpage=$1 [L] 
#réécriture pour faire fonctionner les pages dans le site
RewriteRule ^(.*)/mon-nouveau-repertoire1-(.*)\.htm$ index.php?action=$1&url=$2 [L] 
RewriteRule ^(.*)/nouvelle-page2-(.*)\.htm$ index.php?action=$1&url=$2 [L]  
RewriteRule ^(.*)/nouvelle-page3-([0-9a-zA-Z-]+)\.htm$ index.php?action=$1&url=$2 [L]  
RewriteRule ^(.*)/(.*)-([a-zA-Z0-9-]+)\.htm$ index.php?action=$1&url=$2&id=$3 [L] 
RewriteRule ^(.*)/(.*)\.htm$ index.php?action=$1&url=$2 [L]
Je comprends pas pourquoi
Code :
RedirectPermanent /ancien-repertoire1/ancienne-page1.htm http://www.mon-site.com/mon-nouveau-repertoire1/nouvelle-page1.htm
Me donne
Code :
http://www.mon-site.com/mon-nouveau-repertoire1/nouvelle-page1.htm?action=ancien-repertoire1&url=ancienne&id=page1
Pourquoi le RedirectPermanent ajoute ça ?
Code :
?action=ancien-repertoire1&url=ancienne&id=page1

Dernière modification par ceweb ; 02/12/2008 à 11h37
ceweb est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 11h35   #2 (permalink)
Responsable Apache
 
Date d'inscription: juin 2002
Messages: 4 811
Envoyer un message via Skype™ à julp
Par défaut

Parce que les directives de redirection Redirect* retransmettent la query string. C'est également ce que fait une règle RewriteRule par défaut. Si vous souhaitez les supprimer lors de la redirection alors il faudrait essayer d'ajouter ? à la fin de l'URL vers laquelle vous redirigez.
julp est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 11h46   #3 (permalink)
Membre du Club
 
Date d'inscription: septembre 2008
Messages: 93
Par défaut

Merci beaucoup pour cette réponse.

Effectivement avec ? à la fin je n'ai plus
Code :
?action=ancien-repertoire1&url=ancienne&id=page1
qui s'ajoute à la fin

Mais comment je dois faire maintenant pour faire disparaitre le ?

Est ce que cela viens de mon fichier htaccess qui n'est pas fait correctement ?
ceweb est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 13h29   #4 (permalink)
Responsable Apache
 
Date d'inscription: juin 2002
Messages: 4 811
Envoyer un message via Skype™ à julp
Par défaut

Dans ce cas, il faut convertir votre règle RedirectPermanent en une RewriteRule (de toute façon, le mélange des deux n'est généralement pas une bonne idée).
Code :
RewriteRule ^ancien-repertoire1/ancienne-page1\.htm$ http://www.mon-site.com/mon-nouveau-repertoire1/nouvelle-page1.htm? [R,L]
Mais il n'y aurait-il pas un problème déjà avec vos RewriteRule actuelles ? La première semble s'appliquer dans tous les cas, laissant les autres inutilisées
julp est déconnecté   Envoyer un message privé Réponse avec citation
NEWS APACHEF.A.Q APACHETUTORIELS APACHELIVRES APACHE

Réponse

Précédent   Forum des développeurs > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 02h44.