Přesměrování neexistujícího obrázku do presenteru

Jija
Člen | 4
+
0
-

Ahoj,
chtěl umožnit dynamické generování obrázků. (Konkrétně půjde o pokus stáhnout obrázek ve správné velikosti například z Amazon S3,pokud už nebude stažený. Ne nechci linkovat přímo S3.)
Snažím se proto nastavit htaccess tak, aby mě skrytě přesměroval na volání actiony v presenteru, pokud uživatel požaduje neexistující obrázek v určité podsložce.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^images/([^.]+\.(jpe?g|gif|bmp|png))$ /home/get-image/?image= // jediný přidaný řádek
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|txt|rar|zip|tar\.gz)$ index.php [L]

Adresa http://ob.local/home/get-image se mi matchne správně na action.
Existující obrázek se správně zobrazí
Neexistující obrázek viz. http://ob.local/…s/close2.png se ale nepřepíše jak má: No route for HTTP request.
Image se do _GET propíše, ale to je jediný úspěch.

Odhaduji, že přepisovat url v htaccesu je už pozdě pro nette. Ale co s tím? Důležité je, že prohlížeč, nesmí poznat přesměrování.

Moc děkuji za jakýkoliv tip.

Editoval Jija (29. 5. 2018 21:11)

CZechBoY
Člen | 3608
+
0
-

Routovani se deje v aplikace, proto je potreba upravit router v Nette a ne htaccess.

Jija
Člen | 4
+
+1
-

CZechBoY napsal(a):

Routovani se deje v aplikace, proto je potreba upravit router v Nette a ne htaccess.

Tak teď se cítím dost hloupě. Hledal jsem složitosti tam kde nejsou. Díky moc.
Nakonec stačilo do Routeru přidat:
$router[] = new Route(‚images/<file>‘, [
‚module‘ ⇒ ‚Front‘,
‚presenter‘ ⇒ ‚Home‘,
‚action‘ ⇒ ‚getImage‘,
‚file‘ ⇒ [
Route::FILTER_OUT ⇒ function ($uri) { return $uri; },
Route::PATTERN ⇒ „.*“,
],
]);
viz. https://pla.nette.org/…tr-s-lomitky