[htaccess] réécriture conditionnelle dossiers

Résolu/Fermé
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 - 22 juin 2012 à 22:19
 A.Nonymous - 24 juin 2012 à 15:17
Bonjour,

Je suis actuellement en train de développer un site que je dois faire en plusieurs langues.

Afin d'optimiser le référencement, je souhaite faire une réécriture d'url en fonction de la langue choisie par l'utilisateur.

Actuellement, j'ai quelque chose qui ressemble à ça :
RewriteEngine on

RewriteRule ^actualites[/]([0-9]+)[-]([a-z\-]+)$   /news/news.php?id=$1&url=$2	[L]
RewriteRule ^news[/]([0-9]+)[-]([a-z\-]+)$   /news/news.php?id=$1&url=$2	[L]
RewriteRule ^nieuws[/]([0-9]+)[-]([a-z\-]+)$   /news/news.php?id=$1&url=$2	[L]


Donc avec ce code, je renvois les requêtes "actualites", "news" et "nieuws" vers le même dossier.

Ce code fonctionne bien mais ma question est de savoir s'il est possible de grouper ces trois lignes en une seule car je trouve que ça fait désordre. De plus, si j'ai des sous-dossiers, ça risque de très vite s'allonger.

Merci d'avance.

1 réponse

Utilisateur anonyme
22 juin 2012 à 23:14
essaie avec ce pattern : ^[actualites|news|nieuws][/]([0-9]+)[-]([a-z\-]+)$
1
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
23 juin 2012 à 19:35
Merci beaucoup pour cette solution. Elle ne m'a pas aidée telle quelle, mais j'ai pu chercher en partant de là.

Pour la solution qui marche, il faut :
RewriteRule ^(actualites|news|nieuws)[/]([0-9]+)[-]([a-z\-]+)$	/news/news.php?id=$2&url=$3	[L]


Il faut donc mettre la condition (actualites|news|nieuws) entre parenthèses et commencer par "$2" au lieu de "$1".

Encore merci de m'avoir mis sur la bonne piste.
0
Utilisateur anonyme
23 juin 2012 à 20:50
ca fait longtemps que j'ai pas utilisé de regex ^^
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
23 juin 2012 à 21:59
Ben apparemment c'est pas trop grave :) Merci encore.
0
Pour capturer sans sélectionner, il faut faire
(?:actualites|news|nieuws)
0