Routování souborů včetně parametrů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Wailey
Člen | 48
+
0
-

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
+
0
-

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
+
0
-

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
+
+3
-

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ž.