2013-06-25 25 views
13

Ne yazdığını anlamak için Günlüğü Kaydet ve karmaşayı yeniden yazabilirim (bir şey varsa). İşte kendisi tarafından kuralı:RewriteRule^- [L] AKA RewriteRule karet çizgisi L

RewriteRule^- [L] 

İşte bağlamda geçerli:

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

Ben "Eş Everything" anlamına geliyor. "Herşeyi Eşleştir" ifadesinin eksik bir kodun bulunmadığını daha açık hale getirmek için bir nokta olacağını düşünmüştüm ve caret'in içindeki tek şey olsaydı regexp'in hata yapması olurdu. Bu yüzden dış şansın başka bir şey anlamına geldiğini görüyorum.

cevap

16
  • ^ Eğer
  • - "hayır eylemde" anlamına demek gibi, "hiçbir şey eşleştirmek" demenin biraz alışılmışın dışında bir yoldur
  • [L] "son kural" anlamına gelir, yani bu noktada
  • sonra RewriteRules işleme durdurmak RewriteCond/ RewriteRule bu kombinasyon diyor çünkü

Ben, bu bir aşağıdaki diğer kurallar vardır varsayıyorum olduğunu Mevcut istekteiçinsevar olan dosya veya dizini, 10 sonraki RewriteRules sonraki göz ardı etmelidir. kodunda ifade


bu olurdu eşdeğer:

do_rewrites(req) 
{ 
    if (is_file(req) || is_dir(req)) 
    return; 

    // other rules 
    ... 
}