Version complète: sur le forum Webmaster Hub : probleme avec un fichier .htaccess
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
william_dallas
Bonjour à tous,
suite à la migration de mon site (basé sur wordpress pour ceux qui connaissent), je dois effectuer une redirection d'URL pour les utilisateurs ayant enregistrer un article du site dans leurs favoris afin qu'il ne tombent pas sur une erreur 404.

Prenons l'URL d'un article au hasard, l'ancienne URL est du type
http://www.monsite.com/article.php?artid=82

et la nouvelle URL est du type :
http://monsite.com/?p=82

j'ai donc penser à modifier le .htaccess mais voilà, rien ne change et je tombe toujours sur une erreur 404.

voici mon htaccess :
<Files .htaccess>
order allow,deny
deny from all
</Files>
Options +FollowSymlinks
RewriteEngine on
RewriteRule /http://monsite\.com/article\.php?artid=$1 /http://monsite.com/?p=$1

donc si qqun arrive à localiser le probleme, je suis tout ouie!!

Merci

Dan
Bonsoir,

CODE
RewriteCond %{QUERY_STRING} artid=([0-9]+)
RewriteRule (.*) http://monsite.com/?p=%1 [R=301,L]


devrait faire ce que tu cherches wink.gif
william_dallas
Merci Dan, j'essaye ca et je vous tiens au courant a_thumbsup_20.gif
william_dallas
aïe ca ne marche pas non plus avec ton code, rien ne change dans l'URL et je tombe toujours sur mon erreur 404. Est-ce que vous avez une idée d'ou vient le probleme??
Une solution complexe serai de reprendre toutes les URL référencé par google mais je dois avoir quelque chose comme 6 pages d'articles référencer.
A mon avis tu es sur la bonne voie Dan, mais j'essaye avec des syntaxe differente et toujours rien...
Dan
Copie ici ton fichier .htaccess, et assure-toi de ne l'éditer qu'en mode TEXTE SEUL.
william_dallas
c'est bon Dan j'ai trouvé, en fait ton code est nikel j'avais une erreur avec
<Files .htaccess>
order allow,deny
deny from all
</Files>

donc merci beaucoup!!

J'ai encore une petite question, je m'apercois que j'ai des articles avec des url un peu differentes du type

www.monsite.com/events/itunes,nouvelles,fonctions,2008,mac os-146-95-event.html
ou encore
www.monsite.com/hotnews/adobe,creative,suite,CS3-112-87.html
( tu vois ce n'est pas toujours le même dossier mais l'URL est toujours de ce type)

P.S: je dois là aussi récuperer l'ID contenu dans l'URL et la réecrire sous la forme

http://www.monsite.com/?p=112-87

quelle règle puis-je faire dans ce cas précis?
william_dallas
voilà mon .htaccess

RewriteEngine On
RewriteCond %{QUERY_STRING} artid=([0-9]+) [or]
RewriteCond %{QUERY_STRING} ^-([0-9]+)-([0-9]+)\.html$ ----> ligne qui ne marche pas
RewriteRule (.*) http://monsite.com/?p=%1 [R=301,L]

voilà, quelquee chose ne marche pas dans cette 2ème ligne et je ne sais pas quoi ca m'énerve mad2.gif lol
Donc please help me parce que les expressions régulieres c'est pas ma tasse de thé...

Merci
Dan
La ligne ne marche pas parce que tu lances la recherche sur le QUERY_STRING et non sur le nom du fichier.

Le tout est de définir une règle qui permet d'identifier la partie "variable" dans tes URLs ... est-ce seulement la séquence de chiffres ([0-9]+)-([0-9]+) ?
Et dans ce cas, tu veux rediriger vers quoi ? Tu as 2 variables et non une seule !
william_dallas
Oui c'est ca, je veux récupérer la variable de mon ancienne URL donc seulement la séquence de chiffres.
La partie variable de mon URL c'est l'id de l'article, c'est à dire dans l'exemple précédent 112-87 (est-ce possible de récuperer cette séquence dans une seule variable? sinon comment récuperer les 2 variables?)et je veux rediriger vers l'URL suivante:
http://monsite.com/p=112-87
voilà.

P.S:que dois-je donc mettre à la place du QUERY STRING?

Merci d'avance pour vos réponses
william_dallas
petite correction, dans la séquence 112-87, la variable à récuperer est 112 donc uniquement la premiere série de chiffre.
Ce qui nous donne un URL du type http://monsite.com/p=112 à obtenir...
voilà
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.