Routa s přesměrovaním všeho na jednu routu
- vosy
- Člen | 532
Ahoj jak udělat aby http://www.sq.loc/ ; http://www.sq.loc/cokoliv ; http://www.sq.loc/en a http://www.sq.loc/en/cokoliv
bylo přesměrováno na UnderConstructionPresenter.php
myslel jsem nějak takto
$router->addRoute('[<locale=cs cs|en>/]', [
'presenter' => 'UnderConstruction', // Target the UnderConstruction presenter
'action' => 'default', // Default action
]);
ale dostávám
User Warning
Invalid link: No route for Home:default(locale=cs)
- Kamil Valenta
- Člen | 815
- proč by tato routa měla matchnout http://www.sq.loc/cokoliv a http://www.sq.loc/en/cokoliv ?
- asi někde v n:href odkazuješ na Home:default, proč by ho měla matchnout routa UnderConstruction:default ?
- vosy
- Člen | 532
Kamil Valenta napsal(a):
- proč by tato routa měla matchnout http://www.sq.loc/cokoliv a http://www.sq.loc/en/cokoliv ?
- asi někde v n:href odkazuješ na Home:default, proč by ho měla matchnout routa UnderConstruction:default ?
- netuším potřeboval bych to rozlousknout
- nikde h:href nemam
ted uz mi to píše u http://www.sq.loc/eee
Cannot load presenter ‚Eee‘, class ‚App\Presenters\EeePresenter‘ was not
found
Potřeboval bych to přesměrovat na UnderConstructionPresenter
dix
- Kamil Valenta
- Člen | 815
Nechej routy tak jak byly, když celá aplikace fungovala (tak možná tam nemáš n:href, ale plink, nebo redirect).
Před všechny routy si přidej novou, která bude
$router->addRoute('[<cokoliv .*>]', [
'presenter' => 'UnderConstruction', // Target the UnderConstruction presenter
'action' => 'default', // Default action
]);
Bude to první routa a bude natolik „hladová“, že do parametru „cokoliv“ matchne i delší string oddělený lomítky.
Pokud chceš ale odstavit celý web, není snazší přepsat index.php ? Nebo to v .htacces překlopit na nějaký maintenance.php ?
Editoval Kamil Valenta (20. 9. 20:58)