2016-03-29 21 views
2

değişkeninin bir bölümünü geçir. Optimize edilmiş .htaccess kuralları yazmalıyım. Ben böyle yazmıştı ve bu kurallar ı web yavaş yapıyor 800 şehirler için bu kuralları yazmak zorunda http://www.domain.com/global/city1-name-in-url/.htaccess - geçerli URL'yi al ve

vardır onlar

RewriteEngine on 
RewriteRule ^city1-name-in-url/$ products.php?city=city1-name-in-url 
RewriteRule ^city2-name-in-url/$ products.php?city=city2-name-in-url 
RewriteRule ^city3-name-in-url/$ products.php?city=city3-name-in-url 
RewriteRule ^city4-name-in-url/$ products.php?city=city4-name-in-url 

Ve url çalışıyoruz. http://www.domain.com/global/any-city-name/

RewriteRule ^any-city-name/$ products.php?city=any-city-name

bu mümkündür: parça url almak ve url Eğer

gibi RewriteRule

Örnek kullanmak için zaten var olup olmadığını bilmek istiyorum? global sonra url kısmını almak ve sonra yeniden yazma kuralında

Teşekkür

cevap

2

Bunu kullanmak için Sen /global/.htaccess bu kuralı kullanabilirsiniz:

RewriteEngine On 

# If the request is not for a valid directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# If the request is not for a valid file 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([\w-]+)/?$ products.php?city=$1 [L,QSA] 

[\w-]+ maçları 1 veya daha fazla [a-zA-Z0-9_-] karakter.

+0

cevabınız için teşekkürler :), ama çözümünüz çalışmıyor. Ayrıca regex'in çalışmasının nasıl olması gerektiğine dair bir açıklama da ekleyebilir misiniz? – Ahmed

+0

Bazı açıklamalar eklendi. Sınamak için hangi URL'yi girdiniz ve htaccess nerede bulunur? – anubhava

+0

global dizin & htaccess dosyası bu dizin içerisinde yer almaktadır – Ahmed