Přesměrování z query stringu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- uestla
- Backer | 799
Pro přehlednost jsem dotaz přepsal:
Dobré popoledne.
Řeším přesměrování ze starých URL na nová, přičemž stará URL (ještě když aplikace nebyla na Nette), byly klasické query stringy. Bohužel ani jedna z následujících rout nefunguje podle očekávání:
$router[] = new Route('?txt=novinky', array(
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('/ ? txt=novinky', array(
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('/?txt=novinky', array(
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
), Route::ONE_WAY);
Když do prohlížeče zadám
<document_root>/?txt=novinky
, query string v URI zůstane a
nepřesměruje se. Ještě doplním „základní routu“, kterou mám
pod tím:
$router[] = new Route('[<lang>/]<presenter>/<action>/', array(
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
'lang' => 'cs',
));
Prosím o radu :-(
Editoval uestla (30. 11. 2010 21:56)
- David Grudl
- Nette Core | 8218
Tohle (tj. new Route('?txt=novinky', ...
) není (zatím)
implementováno, takže nezbývá než jít klasickou cestou a
přesměrovávat ručně.