Nette Framework – routing (stare) vs. (nove) URL
- Takeshi
- Člen | 596
Caute … jedna otazka: mam povedzme stranku
localhost/.../books
a premenoval som ju na
localhost/.../knihy
.. v Bootstrape
Mensi problem mam v tom ze ked dam odkaz na URL ($basePath)/books … teda na
stare URL … presmeruje ma to na nove, teda na „knihy“
Co by som chcel? Ked dam odkaz na knihy, tak ma to na knihy nasmeruje, ale ked dam odkaz na books, tak ocakavam ze ma to tam aj nasmeruje ...... aj ked je to ta ista stranka
- JuniorJR
- Člen | 181
Pokud jsem to dobře pochopil (asi spíš ne), tak by ti mohlo pomoci Routing#transformace-a-preklady
Editoval JuniorJR (13. 5. 2012 22:01)
- Takeshi
- Člen | 596
Tak este raz a dodetailu tu moju otazku …
1– Mám stránku „localhost/nette/www/books“ (Nazov podla presentera →
BooksPresenter.php)
2– V Bootstrape som si upravil nasledovne …
<?php
$container->router[] = new Route('knihy', 'Books:default');
?>
3-Poklial dam odkaz:
<a href="{$basePath}/knihy">asd</a>
tak ma to presmeruje na presenter BooksPresenter.php (a jeho sablonu), ale ako url sa mi zobrazi
localhost/nette/www/knihy
4– Problem … ked dam odkaz na:
<a href="{$basePath}/books">asd</a
presmeruje ma to aj tak na:
localhost/nette/www/knihy
a nie nie na localhost/nette/www/books ako by som si to predstavoval
… dufam ze je to teraz jasnejsie :-)
- jtousek
- Člen | 951
Obecně je to blbost, když nic jiného tak vyhledávače za to penalizují. Nette se proto automaticky snaží vždy přesměrovávat na jednu kanonickou URL. Což se dá vypnout pomocí $autoCanonicalize.
Snad to bude dělat to co chceš, nikdy jsem to nepotřeboval tak nevim jestli chápu správně význam té proměnné.