Routování na statických stránkách

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

Ahoj, sem začátečník v nette a zkusil jsem si vytvořit stránky podle tohoto návodu https://doc.nette.org/cs/quickstart ale nějak nemohu přijít na to jak udělat aby mi to nacitalo index.php po zadani localhost/test1/ a aby to nechtelo locatlhost/test1/document_root

Taky bych se chtel zeptat jak udělat aby když kliknu v menu třeba na Kontakt aby adresa byla localhost/test1/kontakt/

Adresářovou strukturu mám i routy mám stejně jako v tom příkladu.

Díky moc za pomoc

Petr Mašát
Člen | 101
+
0
-

Ahoj,
osobně to řeším pomocí .htaccess v němž mám

RewriteBase /document_root/

a tím změním odkud se má brát root webu.

spiider
Člen | 162
+
0
-

A ten .htaccess mám umístit přímo do test1 a jak by tedy měl přesně vypadat......nějak se mi to nedaří.....jinak co se týká mého druhého dotazu, tak když kliknu v menu na kontakt tak mě to hodí chybu 404 The requested URL /index.php was not found on this server.

Díky

Petr Mašát
Člen | 101
+
0
-

Ten .htaccess by jsi měl umístit úplně do nejhornějšího adresáře. Apache si pro něj poté šáhne a automaticky jeho nastavení probublá i do všech podadresářů (kde případně můžeš jeho nastavení změnit další .htaccess souborem, což je vhodné zejména pro adresáře app, libs kam by zvenku nemělo být vidět).

Posílám svůj .htaccess, snad je použitelný i pro tvůj projekt : )

#Options +FollowSymlinks
RewriteEngine on

RewriteBase /document_root/

# configure PHP
php_flag magic_quotes_gpc off
php_flag register_globals off

# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(css|pdf|ico|js|gif|jpg|png|rar|zip|tar\.gz)$ index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)\.(css|pdf|ico|js|gif|jpg|png|rar|zip|tar\.gz)$ $1\.$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule	!((.)\.(css|pdf|ico|js|gif|jpg|png|rar|zip|tar\.gz|html))$	/index.html   [R=301,L]

Myslím že jsem ho kdysi získal také někde tady na fóru, tak snad je ještě v pořádku a nic v něm nechybí.

spiider
Člen | 162
+
0
-

Tak sem ho umístil do localhost/test1 ale dycky po zadání téhle adresy mě to hodí na localhost/index.html

A nikdo neporadí ještě s těma routama jak na ně u těhle statickejch stránek…díky moc

Petr Mašát
Člen | 101
+
0
-

ups, odmaž pls poslední část

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule     !((.)\.(css|pdf|ico|js|gif|jpg|png|rar|zip|tar\.gz|html))$      /index.html   [R=301,L]

ta je tam kvůli mému redakčnímu systému, u nehož mám napsané i své routování. Poté tě to nebude přesměřovávat na ten index.html.

spiider
Člen | 162
+
0
-

Tak sem to odmazal a pořád nic, když zadám localhost/test1 tak mi to ukáže akorát složky co tam mám ale do document_root se to nedostane :(

Petr Mašát
Člen | 101
+
0
-

Můžeš to pls celé zazipovat a někam umístit? Stáhnu, rozipuji, zkouknu a buďto já a nebo někdo jiný poradí : )

spiider
Člen | 162
+
0
-

pošli mi email a já ti to pošlu zabalený kdyžtak, díky

Petr Mašát
Člen | 101
+
0
-

Hoď to třeba na ulozto.cz a pošli link. Aby na to mohli případně kouknout i jiní zájemnci.

spiider
Člen | 162
+
0
-

tak je to ke stažení na http://www.ulozto.cz/…1/elmos2-zip tak prosím mrkněte na to někdo a prosím podívejte se i na to routování jak jsem psal, díky moc za rady

Petr Mašát
Člen | 101
+
0
-

Hoj,

upravil jsem ti hnedka první .htaccess na

#Options +FollowSymlinks
RewriteEngine on

RewriteBase /

# configure PHP
php_flag magic_quotes_gpc off
php_flag register_globals off

RewriteRule (.*)$ document_root/$1

plus hodil jsem upravenou verzi na ulozto.cz – nyní již se document_root nevypisuje.

Do budoucna by se ti mohlo hodit: http://www.jakpsatweb.cz/…rewrite.html

Editoval tachyon (2. 1. 2011 17:36)

spiider
Člen | 162
+
0
-

A tobě to šlo v pohodě? Sem si stáhnul tu opravenou verzi od tebe ale když to pustim localhost/elmos2-upravene tak to píše, že to document_root nenašlo.......asi sem uplně mimo teda už…díky

Petr Mašát
Člen | 101
+
0
-

Jj mě to šlo v pořádku. Funguje ti mod_rewrite? Případně si ho budeš muset v nastavení apache povolit. Cvičně jsem to hodil i na jeden svůj hosting a funguje to tam bez problému.

spiider
Člen | 162
+
0
-

jj mod_rewrite mi jede v pohodě, zkoušel jsem ho i na jinačích stránkach co nebyly v nette a bez problémů......ještě jsem mrknul jestli ho mám všude povolenej ale nikdy mi to problém nedělalo, tak fakt už nevím kde může být chyba :(

spiider
Člen | 162
+
0
-

Neporadí někdo aspoň jak mám mít nastavené routy abych měl adresu např. www.test.cz/kontakt nebo www.test.cz/noviky apod.
Jsou to statické stránky a presentery se jmenují KontaktPresenter a NovinkyPresenter
Routy mám jako v ukázkovém příkladu:
$router[] = new Route(‚index.php‘, array(
‚presenter‘ ⇒ ‚HomePage‘,
‚action‘ ⇒ ‚default‘,
), Route::ONE_WAY);

$router[] = new Route(‚<presenter>/<action>/<id>‘, array(
‚presenter‘ ⇒ ‚HomePage‘,
‚action‘ ⇒ ‚default‘,
‚id‘ ⇒ NULL,
));

Petr Motejlek
Člen | 293
+
0
-

spiider napsal(a):

Neporadí někdo aspoň jak mám mít nastavené routy abych měl adresu např. www.test.cz/kontakt nebo…

No a to ti nefunguje, nebo v čem je problém? ;) Samotné to přirozeně stačit nebude. Je potřeba ještě .htaccess s nastaveným přesměrováním všeho na index.php.

spiider
Člen | 162
+
0
-

Nefunguje no, chyba 404 not found, co mám tedy mít v .htaccess?? jsem v tomhle začátečník, díky