Jednosměrná routa, která zahodí parametry

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
maarlin
Člen | 207
+
0
-

Mám routu, která by měla přesměrovat návštěvníka z „už neexistující“ URL na homepage:

Původní URL byly cca ve tvaru /deprecated-section/23423-my-article-12, /deprecated-section/anything atd.

$frontRouter[] = new NRoute( 'deprecated-section/<whatever>', array (
            'presenter' => 'Homepage',
            'action' => 'default'
            ), NRoute::ONE_WAY );

Routa ale zanechává předané parametry a tedy přesměrovává na /?whatever=%hodnota parametru%.

Jak ten zbytek za /deprecated-section/ po přesměrování úplně zahazovat?

Filip Procházka
Moderator | 4668
+
0
-

Vlastní router, nebo tam dát mezikrok s presenterem (nebude to one-way)

Mikulas Dite
Člen | 756
+
0
-

To je docela brutální. Jediné použití mě napadá u API, jinak by bylo milé stará url zachovat.

Jakub Bouček
Člen | 54
+
+1
-

Právě jsem to řešil.

Určité specifické části lze vyhodit pomocí Foo parametrů:

<?php
$frontRouter[] = new NRoute( 'deprecated-section/<? .*>', array (
            'presenter' => 'Homepage',
            'action' => 'default'
            ), NRoute::ONE_WAY );
?>