2016-03-23 15 views
1

Htaccess dosyasında bir yeniden yazma kuralı ekledim ve tek sorun gayet iyi çalışıyor çünkü 2016 dizininden sonra herhangi bir URL açtığımda aynı hedef dosyayı açar. Örneğinhtaccess tüm sayfaları aynı kural için yeniden yazabilir

RewriteRule ^elections/assembly/2016/(.*)$ elections/assembly/2016/index.php?state=$1 

: -

http://www.example.com/elections/assembly/2016/dir1/dir2/index.php

yukarıdaki URL aynı yapıdadır. lütfen bu sorunu çözmeme yardımcı olun.

cevap

0

Sen yönetiminden gerçek dosya ve dizinleri dışlamak zorunda:!

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^elections/assembly/2016/(.*)$ elections/assembly/2016/index.php?state=$1 
+0

beni -d anlamını ve ne olduğunu anlamaya yardımcı olur musunuz –

+0

'RewriteCond% {REQUEST_FILENAME} -f! -d' kuralın bir koşulu, isteğin varolan bir direk olmadığını söylerse, isteği yeniden yazın, aksi halde yeniden yazmayı atlayın. 'RewriteCond% {REQUEST_FILENAME}! -d' aynı şekilde çalışır, ancak varolan dosyaları işler. – starkeen

+1

teşekkürler starkeen :) –

İlgili konular