Aller au contenu

Sujets conseillés

Posté

Bonjour,
Je cherche à faire une ré-ecriture d'url sur un nom de dossier (en plus du nom de fichier), mais je coince, là...

 

Principe :
J'ai un dossier 'physique', un vrai, sur le serveur, qui se nomme 'seo'. Chemin : mondomaine.com/seo. Dedans, j'ai un script index.php.

 

Ce que je souhaite, c'est que TOUTES les urls du type mondomaine.com/theme1/keyword_x, ou mondomaine.com/theme2/keyword_y soient au final traitées par mon script mondomaine.com/seo/index.php?kw=keyword_blabla.
Pour la partie 'keyword_', pas de problème, c'est pour les dossiers (theme1, theme2, etc...) que je coince....

Une idée, les champions ?

 

Par avance merci :)

Posté

Bonjour,

 

tu peux utiliser quelque chose du genre mais attention car cela pourrait éventuellement créer des conflits avec d'autres URLs. L'idéal serait, je pense, d'utiliser un caractère bien spécial pour identifier tes urls qui vont passer par ce script.

 

RewriteRule ^([-A-Za-z0-9]+)/([-A-Za-z0-9]+)$  ./seo/index.php?theme=$1&kw=$2 [L]

J'utilise ce genre de script pour mon site et cela fonctionne parfaitement. Et encore, moi je n'utilise même pas de dossier physique, juste de la réécriture pour dossiers et même sous dossiers.

 

J'espère t'avoir aidé.

 

 

Posté

Bonjour Wolf, merci du coup de main.

^([-A-Za-z0-9]+)/([-A-Za-z0-9]+)$

ça j'utilise déja. Mais tu m'as donné une idée, effectivement, ne pas utiliser de dossier 'seo', et mettre mon fichier à la racine (pas en index.php, du coup, mais c'est pas important). Donc à contrario, comment avoir une re-ecriture pour que toutes les urls contenant un dossier soient réecrites en 'mondomaine.com/script.php?blabla' (j'ai pas besoin d'identifier le dossier de l'url, en fait), SAUF les urls contenant un dossier spécifique (ex, /categorie/, ou /blog/, qui sont pris en charge par une autre ré-ecriture en place).

Je sais pas si je suis clair :):) ?

Posté

Effectivement je ne suis pas sur d'avoir tout compris.

Tu souhaites donc savoir si tu as besoin d'identifier ton nom de dossier en paramètre de l'URL ? La réponse est non, tu peux très avoir ça :

 

RewriteRule ^([-A-Za-z0-9]+)/([-A-Za-z0-9]+)$  mapage.php?kw=$2 [L]

 

Le seul point important c'est de respecter l'incrémentation des valeurs passées dans l'URL. La première variable étant le nom du dossier elle se nommera $1, si tu n'en as pas besoin et que seule la deuxième variable t'intéresse alors récupères uniquement $2.

Posté

Ouais, c'est sur que c'est pas bien clair, mon truc :) Bon, je prends dans l'autre sens :
On a un site basé sur un CMS, qui a ses propres règles, et des dossiers '/forum/', '/blog/', '/clients/'... tout ça marche bien.

Par contre, j'ai un script (allez, 'script.php') hors CMS qui me gère 'à la volée' toute une serie de pages optimisées SEO, pas gérées par le CMS. Les urls de ces pages sont par exemple :

/tv/expression1

/bureau/expression2

/aspirateur/expression3

...

 

Donc je veux que par principe, toutes les urls avec '/forum/', '/blog/', '/membres/' ou ne contenant PAS de dossier restent gérées par le CMS (en gros, pour ces urls, on ne fait rien, le CMS les prend en charge)
Mais que toutes les urls contenant un autre dossier, quel qu'il soit, soient prises en charge par script.php

Je crois qu'il y a des possibilité de conditions pour les rewrite rules, mais bon, je ne suis pas dev, plutôt seo, donc je patauge un peu salement techniquement :)


 

  • 3 semaines plus tard...
Posté

Désolé pour le retard.

Je ne sais pas si la règle va faire doublon ou pas avec ton CMS. Je te propose donc de faire le test sur ton site. Si les pages s'affichent correctement alors tout va bien, sinon il faudra voir les URLs qui posent problème et essayer de trouver une solution.

C'est un peu l'inconvénient quand on utilise un CMS et que l'on veut le modifier... Il faut prendre garde à ne pas venir tout dérégler en modifiant quelque chose :lol:

Veuillez vous connecter pour commenter

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



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