Odstraneni action v url (routování)

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

Chci se zeptat jestli je možne nějak pomoci routovani odstranit http://t0x1c.eu/…l/default/18 v tomto odkaze slovičko default aby bylo jen http://t0x1c.eu/…ww/profil/18 globalně se mi to povedlo při upravě

$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
na
$container->router[] = new Route('<presenter>[/<id>]', 'Homepage:default');

Jde o to že se mi to udělalo globalně a pak mi nefungovalo
http://t0x1c.eu/…dukty/detail

šlo by to třeba udělat jen na konkretní presenter? Snad jste mě pochopili píšu to trošku ve spěchu. Dík :)

jetpack
Člen | 71
+
0
-

Řekl bych, že stačí tu action v routě dát jako optional:
[/<action>] a když bude default action a default action bude jako výchozí akce v routě tak to zobrazovat nebude.

t0x1c
Člen | 151
+
0
-

Super díky moc! :) Funguje :) Dík
Jo a ještě nevíš nahodou jak dám pryč z url i to www?

Editoval t0x1c (3. 1. 2013 22:53)

jetpack
Člen | 71
+
0
-

Máš na mysli to „www“.domena.tld změnit na domena.tld ?

t0x1c
Člen | 151
+
0
-

nene jak mam gethost_new/www/profil/18 tak dat pryč to www

vvoody
Člen | 910
+
0
-

Treba presunúť obsah www adresára o jednu úroveň vyššie a upraviť odkazy v index.php. Nezabudni si otestovať že nieje možné z prehliadača otvoriť/stiahnuť obsah adresárov, ktoré by z vonku nemali byť prístupné (app, log…)

jetpack
Člen | 71
+
0
-

vvoody máš na mysli:
v .htaccess
order deny, allow
deny from all

?

hAssassin
Člen | 293
+
0
-

blbost, žádný přesouvání není potřeba, pokud vyvíjíš na localhostu, stačí si vytvořit virtual host a ten nasměrovat do www složky daný Nette aplikace, více viz např. zde

P.S. pokud jsi pod Windows, nezapomeň upravit i hosts ve C:/Windows/System32/drivers/etc/, nevím, jestli na to ten návod taky upozorňuje.

castamir
Člen | 629
+
0
-

Nebo stačí dát o úroveň výš jen nový index.php, který bude obsahovat require „/www/index.php“.
Toto řešení má ale nevýhodu v tom, že se pak musí upravit cesty v aplikaci (typicky {$basePath} na {basepath}/www)

Tabetha
Člen | 140
+
0
-

načo nový index.php? … ja mám pôvodný index.php prehodený do root zložky (nadradená www) a ide to v pohode … a z tými odkazmi ako $basePath ako píše castamir… pridávať tam WWW

castamir
Člen | 629
+
0
-

@Tabetha protože když ten původní index.php přesuneš o úroveň výš, musíš opravit i cesty v konstantách APP_DIR apod, což s tím mým řešením nemusíš.

Tabetha
Člen | 140
+
0
-

@castamir … vidíš to ma nenapadlo … =) takže je to jedna z možností …