Routování souborů včetně parametrů
- Wailey
- Člen | 48
Ahoj,
prosím vás, jak mám routovat soubor v odkazu
například:
%domain%/files/obrazek.jpg?width=300&height=300
mám
$router[] = new Route('files/<file>[.[a-z]*]', "System:files");
avšak mi to vyhodí 404
potřeboval bych abych měl v parametrech vše za ‚?‘ a ve <file>
v tomto případě ‚obrazek‘
moc děkuji, spěchá
- jiri.pudil
- Nette Blogger | 1032
V první řadě musíš správně nakonfigurovat webserver. Většina běžných konfigurací (vč. té v sandboxu) requesty na statické soubory do aplikace vůbec neposílá.
- Wailey
- Člen | 48
Napadlo mě, že bude problém i v .htaccess.
Bohužel nevím, jak to pro Nette nastavit tak, aby to pouštělo soubory ze
všech složek,
kromě tohoto routu ‚/files/‘ kam chci, aby to posílalo
jen název <file> a parametry.
Prosím o radu, jak popsat htaccess a nakonfigurovat route
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
Moc mi to pomůže, a ještě jednou děkuji.
Editoval Wailey (1. 2. 2016 19:59)
- pata.kusik111
- Člen | 78
Tento řádek
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
říká že vše co končí příponou pdf, js, ico, atd. se nemá posílat do aplikace. Prostě všechny přípony, které chceš zpracovat z tohoro řádku vypaž.