2016-05-11 9 views
1

Ich habe diese .htaccess Regeln:Doppel Regeln in .htaccess-Datei

RewriteEngine On 

# Redirect to region page (xxxxx.com/project-list.php?lang=fr&region=1) 
RewriteRule ^(fr|en|es|cn|ar)/(.+)$ project-list.php?lang=$1&region=$2 [L] 

# Redirect to project page (xxxxx.com/projet-details.php?lang=fr&region=1&projet=1) 
RewriteRule ^(fr|en|es|cn|ar)/(.+)/(.+)$ project-details.php?lang=$1&region=$2&projet=$3 [L] 

Die erste, wirkt wie ein Zauber.

Aber nicht die zweite. Wenn ich möchte, dass es für den zweiten funktioniert, muss ich den ersten entfernen.

Wie kann ich dieses Verhalten bitte ändern?

+0

Beide Regeln eine gleiche uri Muster haben, Regel Verarbeitung von oben beginnt, so auf jeden Fall die erste Spiele .. – starkeen

Antwort

0

neu anordnen Ihre Regeln wie folgt aus:

RewriteEngine On 


# Redirect to project page (xxxxx.com/projet-details.php?lang=fr&region=1&projet=1) 
RewriteRule ^(fr|en|es|cn|ar)/(.+)/(.+)$ project-details.php?lang=$1&region=$2&projet=$3 [L] 

# Redirect to region page (xxxxx.com/project-list.php?lang=fr&region=1) 
RewriteRule ^(fr|en|es|cn|ar)/(.+)$ project-list.php?lang=$1&region=$2 [L]