Jak odstranit z URL nepoužívanou část

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

Řeším podporu starých URL po upgradu aplikace.

Jak by prosím měla vypadat routa, která z takovéto adresy:

http://www.projekt.cz/nejaky-muj-seo-text-produkt?id=1234

vytvoří

http://www.projekt.cz/produkt/1234

Část -produkt je v původní URL vždy a nemění se. Jde mi o odstranění řetězce „nejaky-muj-seo-text“. Povede se mi ho odchytit do nějakého parametru, ale pak ve výsledku figuruje, což nechci. Např.:

http://www.projekt.cz/produkt/1234?seo=nejaky-muj-seo-text

Díky.

Editoval josef.sabl (21. 10. 2014 16:26)

Oli
Člen | 1215
+
0
-

Staré routy řeší ONE_WAY routa. V tom to nastavit nejde?

josef.sabl
Člen | 153
+
0
-

Díky, ale mě ani tak nejde o to, že ta routa má být one way, jako spíš, že obsahuje nějakou dynamickou část, která se nemá do nové přenést.

jiri.pudil
Nette Blogger | 1029
+
+3
-

Mohly by ti pomoci foo parametry

Oli
Člen | 1215
+
0
-

No však to by mělo dělat to co cheš ne? Prvně by byla stará routa

$router[] = new Route('nejaky-muj-seo-text-produkt', array(
	'presenter'=>'Product',
	'action' => 'detail',
	'id' => 1234), Route::ONE_WAY);

a potom routa regulerní

$router[] = new Route('<presenter>/<id>', array(
	'presenter' => 'Product'
	'action' => 'detail'
	'id' => NULL
));

Editoval Oli (21. 10. 2014 16:41)

josef.sabl
Člen | 153
+
0
-

Jo, to je ono. Jen jsem to nějak podle nadpisu v dokumentaci nepochopil :) Díky! Zkoušel jsem hvězdičku a tečku, otazník mě nenapadnul ;)

Editoval josef.sabl (21. 10. 2014 16:47)