Aller au contenu

Sujets conseillés

Posté

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

Posté

Bonsoir,

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

devrait faire ce que tu cherches ;)

Posté (modifié)

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

Modifié par william_dallas
Posté

Copie ici ton fichier .htaccess, et assure-toi de ne l'éditer qu'en mode TEXTE SEUL.

Posté (modifié)

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?

Modifié par william_dallas
Posté

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: lol

Donc please help me parce que les expressions régulieres c'est pas ma tasse de thé...

Merci

Posté

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 !

Posté

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

Veuillez vous connecter pour commenter

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



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