2010-01-16 7 views
0

Je suis en train de rediriger mes pages en utilisant URL:problème de mod rewrite

RewriteRule ^(.*)/content/(.*)/?(.*)\.html$ browse.php?s=$1&c=$2&l=$3 [NC,L] 

Pour 2 paramètres il fonctionne très bien, mais quand je Passe 3 paramètres, il fusionne le 2 et le troisième.

sortie correcte est en tant que paramètres de suivi (2):

Array ([s] => wallpapers [c] => Global_Celebrities [l] => Nicole1); 

paramètres Fusionné sortie foiré est ici (3):

Array ([s] => wallpapers [c] => Global_Celebrities/Kate1 [l] =>); 

Merci à l'avance.

+0

Ce serait bien si vous acceptez la réponse qui répond le mieux à votre question. – Gumbo

Répondre

1

Vous devez utiliser un modèle plus spécifique. Essayez [^/]+ au lieu de .*:

RewriteRule ^([^/]+)/content/([^/]+)\.html$ browse.php?s=$1&c=$2 [NC,L] 
RewriteRule ^([^/]+)/content/([^/]+)/([^/]+)\.html$ browse.php?s=$1&c=$2&l=$3 [NC,L] 
+0

Merci pour la réponse rapide cela fonctionne bien .. – user252165

+0

Merci guyz vous êtes la vie Sauveur (K);) – user252165

1

manière la plus simple est d'aller avec 2 règles:

RewriteRule ^(.*)/content/(\w*)\.html$ browse.php?s=$1&c=$2 [NC,L]<br/> 
RewriteRule ^(.*)/content/(\w*)/(\w*)\.html$ browse.php?s=$1&c=$2&l=$3 [NC,L] 

Notez que j'utilise "\ w" au lieu de, de sorte que " ""." serait incapable de manger "/". Cela pourrait fonctionner avec. aussi, c'est juste plus sûr avec \ w.