[htaccess] réécriture conditionnelle dossiers

Résolu
Tralala8 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   -  
 A.Nonymous -
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
 
essaie avec ce pattern : ^[actualites|news|nieuws][/]([0-9]+)[-]([a-z\-]+)$
1
Tralala8 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   14
 
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
 
ca fait longtemps que j'ai pas utilisé de regex ^^
0
Tralala8 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   14
 
Ben apparemment c'est pas trop grave :) Merci encore.
0
A.Nonymous
 
Pour capturer sans sélectionner, il faut faire
(?:actualites|news|nieuws)
0