Aller au contenu

réécriture d'url, querystring avec un sous dossier http://www.domain.com/subfolder/ XXX


Sujets conseillés

Bonjour à tous,
J'aurais besoins d'un petit coup de pouce sur de l'urlrewriting car j'ai beau lire tous les forums et tuto je pense que certaines choses m'échappent et j'aimerais comprendre.
Voici ce que je voudrais faire :
http://www.mondomaine.com/subfolder/LL-CC/CATEGORIE/p1/p2/etcLL'>>http://www.mondomaine.com/subfolder/LL-CC/CATEGORIE/p1/p2/etcLL : code langue de type en|fr|grCC : code pays de type uk|fr|ptCATEGORIE : une variable quelconque et ses parametres facultatifs
J'ai donc mon url de base avec un fichier index.php : serait de pouvoir récupérer LL, CC et CATEGORIE dans des variables de type get : lang, country et category en partant des regles suivantes :
- si j'arrive sur http://www.mondomaine.com/subfolder/ (avec ou sans le slash de fin), je veux réécrite l'url par default en http://www.mondomaine.com/subfolder/en-gb/
A partir de cette premier regles je peux deja recuperer les variables en get et les passer a mon index comme ceci index.php?lang=en&country=gb
je veux réécrire l'url et rajouter systematiquement par defaut /en-gb/ pour obtenir http://www.mondomaine.com/subfolder/en-gb/customcategory/
je pourrais aussi avoir autre chose que customcategory comme par exemple :
Bon a ce stade soit vous me traitez de tordu et je me complique la vie ou soit le sujet est intéressante [biggrin]
Voici donc ce que j'ai écris dans mon htaccess :
RewriteEngine On#Ne fonctionne pas#RewriteBase /subfolderRewriteCond %{REQUEST_URI} !^/(.+)$#Je ne saisi pas bien la différence#RewriteRule ^(.+)/$  /$1 [R=301,L]RewriteRule ^(.*)/$ /$1 [L,R=301]RewriteRule ^$ /subfolder/en-gb [L,R=301]RewriteCond %{REQUEST_URI} !^/categoryRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^([A-Za-z0-9_]{2})-([A-Za-z0-9_]{2})/?(.+)$ /subfolder/index.php?lang=$1&country=$2&category=$3 [L,QSA]RewriteCond %{REQUEST_URI} !^/categoryRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^([a-zA-Z]{2})-([a-zA-Z]{2})/?$ /subfolder/index.php?lang=$1&country=$2 [L,QSA]RewriteCond %{REQUEST_URI} !^/categoryRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^/?(.+)$ /subfolder/index.php?category=$1 [L,QSA]
ça fonctionne mais je ne suis pas sur que les conditions et les règles soient correctement écrites.
La conditions suivante est un peu hasardeuse :

RewriteCond %{REQUEST_URI} !^/category
je pense que je pourrais utiliser une expression regulier un peu mieux formatée

RewriteCond %{REQUEST_URI} !^/subfolder/([A-Za-z0-9_]{2})-([A-Za-z0-9_]{2})/?
mais impossible de le faire fonctionner ...
est-ce qu'il y a une différence importante entre

RewriteBase /monsite
et

RewriteBase /monsite[b]/[/b]
J'ai également pensé à mettre une balise base pour que mes liens relatifs soit toujours a partir de http://www.mondomaine.com/subfolder/
Est-ce que l'un d'entre vous peut me donner son avis et me guider un peu pour que je puisse comprendre et réussir à écrire correctement mes règles de réécritures ?
Merci
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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