Účel a odstranění automaticky generovaného GET parametru v URL

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

Ahoj.

Pokud přistoupím na určité adresy ve své aplikaci, vygeneruje se mi do odkazu tento string: ?www%2Ffront%2F=. Vypadá dost blbě, když je člověk na této adrese: http://localhost/demoapp/front/?www%2Ffront%2F=. Lépe rozhodně vypadá toto: http://localhost/demoapp/front/

Můj router vypadá takto:

<?php

namespace App\Factories;

use Nette,
	Nette\Application\Routers\RouteList,
	Nette\Application\Routers\Route,
	Nette\Application\Routers\SimpleRouter;

/**
 * Router factory
 */
class RouterFactory
{
	/**
	 * @return \Nette\Application\IRouter
	 */
	public function createRouter()
	{
		$router = new RouteList();

		$router[] = new Route('[<locale=cs cs|en>/]front/<presenter>/<action>[/<id>]', array(
			'module' => 'Front',
			'presenter' => 'Index',
			'action' => 'summary',
			'id' => NULL,
		));

		$router[] = new Route('[<locale=cs cs|en>/]<presenter>/<action>[/<id>]', array(
			'presenter' => 'Index',
			'action' => 'default',
			'id' => NULL,
		));

		return $router;
	}

}
?>

Registrace routeru v config.neon:

services:
    - App\Factories\RouterFactory
    router: @App\Factories\RouterFactory::createRouter

Netušíte někdo proč se toto děje, popř. jak se toho zbavit? Dík moc.

Editoval kastanekdavid (15. 10. 2014 15:31)

besanek
Člen | 128
+
0
-

Máš tam nějaký bordel. Ukaž jak vypadá router.

kastanekdavid
Člen | 39
+
0
-

Upravil jsem otázku a přidal jsem ten router.

japlavaren
Člen | 404
+
0
-

router vyzera ok, ukaz jak generujes link… nevidim nic podozrive

kastanekdavid
Člen | 39
+
0
-

Normálně napíšu do prohlížeče localhost/app/front a Nette podle routerFactory přesměruje na Front:Index:Summary, všechno automaticky. Akorát mi přidá do odkazu ?www%2Ffront%2F=. Když napíšu do prohlížeče např. localhost/app/front/index/service, tak mi tam zas dogeneruje ?www%2Ffront%2Findex%2Fservice=, protože to neodpovídá default routě. Žádný speciality nedělám, nechávám Nette 2.2, ať to všechno dělá samo. Absolutně nechápu, oč běží :-O

Editoval kastanekdavid (15. 10. 2014 15:28)

besanek
Člen | 128
+
+2
-

Pokud používáš Apache tak zkus v .htaccess správně nastavit a odkomentovat RewriteBase

	RewriteBase /demoapp/
kastanekdavid
Člen | 39
+
0
-

Díky! Problém byl v tom, že jsem měl .htaccess v rootu projektu a v něm jsem redirektoval do /www, kde byl .htaccess prázdný. Do tohoto prázdnýho jsem teda dodal RewriteBase a už to šlape.