Dva tvary URL pro jeden presenter
- Xantes
- Člen | 28
Ahoj,
jak nastavit routu, aby jsem mohl mít tyto masky URL:
<nepovinna-cast>/<slug>
<slug>
pro jeden presenter?
Mám routu ve tvaru: [<nepovinna-cast>/]<slug>
a to
mi funguje tak, že mi to bere oba tvary, což potřebuji. Potřebuji však mít
výchozí tu zkrácenou podobu a v určité situaci přesměrovat na tu delší
podobu, což dělám v presenteru a zacyklí se mi to, protože
předpokládám, že router mi to přesměruje zpět na tu krátkou podobu.
Jak to jednoduše nastavit?
- Felix
- Nette Core | 1196
Zkus pouzit Route::ONE_WAY
– https://doc.nette.org/…tion/routing#….
$router[] = new Route('<nepovinna-cast>/<slug>', 'X:y', Route::ONE_WAY);
$router[] = new Route('<slug>', 'X:y');
- Xantes
- Člen | 28
To mi způsobí to, že mi automaticky bude přesměrovávat na tu kratší variantu. Já potřebuji, aby byly funkční obě a v presenteru jsem rozhodl na kterou přesměruji. Ideálně, aby byla výchozí ta krátká varianta a v případě potřeby, v některých případech jsem přesměroval na tu delší podobu.
- Felix
- Nette Core | 1196
Aha, spatne jsem to pochopil. No v tom pripade definuj 2 routy a
v presenteru vypni autoCanonicalize
.
- Zuben45
- Člen | 268
Felix napsal(a):
Aha, spatne jsem to pochopil. No v tom pripade definuj 2 routy a v presenteru vypni
autoCanonicalize
.
Jen doplním, toto může vést k rozdělení seo ranku ;)