Değiştirmem gerekiyor .htaccessve anlamadığım iki satır var.
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Bu satırları ne zaman kullanmalıyım?
Değiştirmem gerekiyor .htaccessve anlamadığım iki satır var.
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Bu satırları ne zaman kullanmalıyım?
Yanıtlar:
Tam bir eğitim verilecek yer değil, ama burada kısaca;
RewriteCond temelde "sonraki RewriteRule'u yalnızca bu doğruysa çalıştır" anlamına gelir. !-lYol isteği (bağlantı için olmadığı durumdur !aracı olmadığı, -laraçlar bağlantı)
RewriteRule temelde istek maçları olduğu yapılırsa anlamına gelir ^(.+)$(sunucu kök hariç her URL'yi) olarak, bu yeniden yazılır index.php?url=$1için bir istek anlamına gelir olleolarak yeniden yazılır index.php?url=olle).
QSAorijinal URL ile iletilen bir sorgu dizesi varsa, yeniden yazmaya ekleneceği anlamına gelir ( olle?p=1olarak yeniden yazılacaktır index.php?url=olle&p=1.
L kural eşleşirse, bunun altında daha fazla RewriteRules işlemeyin anlamına gelir.
Bununla ilgili daha eksiksiz bilgi için yukarıdaki bağlantıları izleyin. Yeniden yazma desteğini kavramak biraz zor olabilir, ancak stackoverflow hakkında öğrenilecek epeyce örnek var.
?etmek &imkansız ayırt hale /page&foobarvs /page?foobar. QSA'nın yerine ?geçmesini nasıl durdurabilirim &?
Aşağıdaki koşullar doğruysa, URL'yi yeniden yazın:
İstenen dosya adı bir dizin değilse,
RewriteCond %{REQUEST_FILENAME} !-d
ve istenen dosya mevcut normal bir dosya değilse,
RewriteCond %{REQUEST_FILENAME} !-f
ve istenen dosya adı sembolik bir bağlantı değilse,
RewriteCond %{REQUEST_FILENAME} !-l
daha sonra URL'yi aşağıdaki şekilde yeniden yazın:
Tüm istek dosya adını alın ve bunu index.php'ye bir "url" sorgu parametresinin değeri olarak sağlayın. Orijinal URL'deki herhangi bir sorgu dizesini başka sorgu parametreleri (QSA) olarak ekleyin ve bu .htaccess dosyasını (L) işlemeyi durdurun.
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Başka bir örnek:
RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]
[QSA] bayrağıyla,
/ sayfalar / 123? bir = iki
eşlenecek
/page.php?page=123&one=two