2016-03-29 4 views
1

ich Urls habe, die immer http://www.domain.com/global/ haben aber nach /global/ kann es.htaccess - gelten RewriteRule nur, wenn der String in URL existiert

Beispiele sind http://www.domain.com/global/name-of-city oder der Name eines city oder franchise in der Stadt oder auf einer anderen Seite sein http://www.domain.com/global/frnachise-then-name-of-city

Jetzt habe ich einige Regeln für beide Bedingungen geschrieben & sie arbeiten

Diese wha ist t Ich bin für Urls wie http://www.domain.com/global/name-of-city

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^([\w-]+)/?$ products.php?city=$1 [L,QSA] 

tun Und hier ist, was ich für franchise einschließlich Urls

RewriteRule ^franchise-management-.([\w-]+)/?$ franchise.php?city=$1 [L,QSA] 

zu tun, aber das Problem ist, das zweite eine funktioniert nur, wenn die erste RewriteRule wird kommentiert sonst wird der 1. immer

angewendet werden, muss ich mit einem Scheck eine Bedingung stellen, wenn url franchise enthält dann RewriteRule for franchise ausführen sonst nur die erste RewriteRule ausführen

Dank

Antwort

1

Versuchen:

RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 
RewriteRule ^franchise-management/([\w-]+)/?$ franchise-management.php?city=$1 [L,QSA] 
RewriteRule ^([\w-]+)/?$ products.php?city=$1 [L,QSA] 
+0

arbeiten nicht nach dem Austausch '-.' mit'/' können Sie bitte erklären, was' RewriteRule^- [L] 'tun soll? – Ahmed

+0

mit meinem alten Code nur verschieben die Regel 'RewriteRule^([\ w -] +) /? $ Products.php? City = $ 1 [L, QSA]' zu letzten tat den Trick – Ahmed

+0

Fügen Sie auch eine Beschreibung für warum Sie verändert diese Zeilen 'RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_FILENAME}! -f' Dank – Ahmed

Verwandte Themen