Aller au contenu

Sujets conseillés

Posté

Bonjour,

J'ai une reecriture de la sorte :

RewriteRule ^formation/(.*)/(.*),([0-9]+)-([0-9]+)\.php$ formations.php?id_filiere=$3&id_formation=$4 [L]

qui me transforme : texte1/texte2/formation-exemple,1-10.php en formations.php?id_filiere=1&id_formation=10

Je cherche la façon la plus simple pour effectuer une redirection 301 d'une URL reecrite indexée par google vers une nouvelle URL générée par ma plateforme

Ainsi, si je change la filiere d'une formation :

texte1/texte2/formation-exemple,1-10.php doit rediriger vers texte1/texte2/formation-exemple,2-10.php

J'ai tenté de faire après ma rewriterule :

Redirect permanent texte1/texte2/formation-exemple,1-10.php http://www.monsite.com/texte1/texte2/formation-exemple,2-10.php

Mais du coup je recupere les parametres :

http://www.monsite.com/texte1/texte2/forma...d_formation=233

comme si ma redirection repassait dans ma rewriterule

Si quelqu'un pouvait m'aiguiller pour avoir quelque chose de propre :]

Merci

P.

Posté

Essaie ceci:

Redirect permanent texte1/texte2/formation-exemple,1-10.php http://www.monsite.com/texte1/texte2/formation-exemple,2-10.php?

Jean-Luc

Posté

Essaye plutôt avec ça

Redirect permanent texte1/texte2/formation-exemple,1-10.php	   texte1/texte2/formation-exemple,2-10.php

Le souci, c'est que ton url est relativement complexe; il y figure des éléments qui n'ont aucune utilité pour identifier ton offre.

Il aurait mieux valu avoir une url du type formation-10.php qui elle, sera valide quelle que soit la filière. Il te suffirait ensuite, dans le code, de retrouver la filière associée à cette formation pour afficher ta page.

Actuellement, tu devras modifier ton .htaccess pour chaque changement de filière, voire pour chaque modification de mots-clés (à quoi servent-ils ?), ce qui risque à terme d'alourdir considérablement ton fichier.

Posté

En toute logique, la réponse de Jean-Luc est la bonne ! (sans oublier le ? final qui devrait éviter l'ajout des paramètres)

J'ajouterais que le RedirectPermanent devrait être fait avant la réécriture par mod_rewrite.

Posté

Merci pour vos réponses

Le schema des données m'a été fourni, une formation peut appartenir à plusieurs filieres.

Si google pénalise les duplicates, seul une fiche formation devrait ressortir, ce qui convient.

La fiche formation mentionne la filiere associée, si je n'ai que l'id de la formation, je ne pense pas pouvoir connaitre facilement la filiere (j'ai une table formation<->filiere)

Pour les mots intermédiaires, point d'abus, juste des mots en rapport aux formations/filieres pour optimiser les URLs

Je ne dis pas que cette construction est top optimisée, lors de la conception, c'est la solution qui a été retenue.

Concernant mon cas,

Si je place le "?", mon URL ne contient plus les paramètres mais elle contient tout de mm le ?... ce qui me gene toujours

D'autres propositions ?

De mon coté, une solution qui fonctionnait, placer au-dessus de ma regle générique :

RewriteCond %{REQUEST_URI} ^/texte1/texte2/formation-...,1-10\.php$
RewriteRule (.*) http://www.monsite.com/texte1/texte2/formation-...,2-10.php [L,R=301]

mais je cherche quelque chose de plus concis...

...comme l'a soulevé captain_torche, je cherche à automatiser mon htaccess.

Je dois tenir compte des changements de mots-clés d'une formation et de l'association filiere/formation.

A chaque changement important, le htacces est régénéré avec une partie fixe (directives apache) et les regles de reecriture qu'imposent les modifs sur les formations.

J'esperait pouvoir mettre mon Redirect permanent apres les regles de reecriture ce qui me faciliterait la tache

P.

Veuillez vous connecter pour commenter

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



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