.htaccess
- veena
- Člen | 98
V tutoriálu je prezentovaný htaccess s těmito podmínkami a pravidlem:
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
Nejsem tedy žádný odborník na htaccess, ale proč jsou v tom pravidlu vyjmenované všechny ty přípony, když o tohle by se měla postarat ta podmínka !-f ne?
Jinak mi přidáváme ještě do podmínek:
RewriteCond %{REQUEST_FILENAME} !-l
pro symbolické linky
- David Grudl
- Nette Core | 8218
Jak píše Petr, je to kvůli neexistujícím souborům.
Aplikace (tedy index.php) v případě neznámé adresy vygeneruje chybu 404 a zobrazí informační HTML stránku. To by bylo ale nevhodné, pokud by požadovanýn dokumentem byl (neexistující) obrázek nebo CSS styl – tam je záhodno poslat pouze hlavičku bez obsahu. Aplikace by sice mohla provádět detekci, jenže její zpracování je náročnější a pokud bych měl v šabloně (nebo v CSS stylu) špatné cesty k obrázkům, server by se zbytečně víc vytížil.
ad symbolické linky: mně to funguje tak, že i když cestu k souboru tvoří symbolický link, tak -f ho akceptuje. Nebo jsem to pochopil špatně?