Yeniden yazmanın iki bölümü vardır. İlki, istenen dosya adı, 0'dan büyük (-s
), sembolik bir bağlantıya (-l
) veya bir dizine (-d
) sahip düzenli bir dosyaysa, örneğin hiçbir yere yeniden yazmamaya belirtir. eylemsiz kal. [NC,L]
, kuralın büyük/küçük harfe duyarlı olmadığı ve bu koşulların uyuştuğu son kural anlamına gelir.
Diğer tüm istekler /vote/public/index.php
'a iletilir.
Bu yeniden yazımın amacı, gerçek, var olan bir dosyanın sunucudan girişim olmaksızın alınabilmesidir. İlk kural olmaksızın, her dosya talebi (css ve js dosyaları, görüntüler vb.), Çok kötü bir şekilde karışıklık yaratacak olan index.php
'a gider. Yine de bu bir deklarasyonda yazılmıştır. Sen koşullarını ortadan kaldıran ve sonra [OR]
Önermeler da dışarı alınabilir:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /vote/public/index.php [NC,L]
Bu orijinal ifadesine eşdeğerdir. @Tatu Ulmanen'in cevabından gelen
@Tatu Ulmanen: "RewriteCond% {REQUEST_FILENAME} -f" nin ne anlama geldiğini açıklayabilir misiniz? '-s' ve '-f 'seçenekleri farklı olan" boyut "mu? Ve ayrıca düzenli dosyalar (İkili değil) ne olurdu? –