routing
- newPOPE
- Člen | 648
Zdravim,
mam mensi problem s presunutim apl. na hosting (ic.cz)
toto mam v bootstrap.php
<?php
$router[] = new Route('index.php', array(
'module' => 'Front',
'presenter' => 'default',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>/', array(
'module' => 'Front',
'presenter' => 'default',
'action' => 'default',
));
?>
edit:
zabudol som co vlastne potrebujem :-)
ide o to ze to reaguje len na adresu napr. http://mypage.tym.sk ale na http://mypage.tym.sk/league/table mi hodi 404ky
na locale mi to fici super ale na hostingu ani za …
Neviete kde by mohol byt problem?
Vdaka za rady
Editoval newPOPE (5. 6. 2009 15:31)
- newPOPE
- Člen | 648
_Martin_ napsal(a):
Ahoj, máš v document_rootu daný .htaccess soubor a zaplou podporu pro mod_rewrite?
Ahoj,
ano rewrite mam nahodeny, aj .htaccess.
nakolko som nevedel ako vsetky poziadavky smerovat na document_root tak som
index.php a aj .htaccess presunul do root nastavil absolutne cesty v index.php
<?php
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/libs');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
?>
na lokale mi vsetko fici, na ic.cz nie jedine sa mi podarilo spustit
default:default
na ine reaguje 404.
Editoval newPOPE (5. 6. 2009 17:06)
- romansklenar
- Člen | 655
Výpis z laděnky řekne vše, pokud ho poskytneš, můžem pomoct, jinak můžem akorát hádat.
- newPOPE
- Člen | 648
romansklenar napsal(a):
Výpis z laděnky řekne vše, pokud ho poskytneš, můžem pomoct, jinak můžem akorát hádat.
No to by som aj ja rad. :-)
Kedze je na prod. serveri defaultne ticho, skusil som nastavit teda natvrdo
devel rezim aj logovanie. Blbe je, ze ani jedno nefunguje.
v config.ini:
[common]
set.date-timezone = „Europe/Bratislava“
set.iconv-internal_encoding = „%encoding%“
set.mbstring-internal_encoding = „%encoding%“
; Production site configuration data
[production < common]
set.include_path = „%appDir%/libs;%modelsDir%/;%presentersDir%/“
;variable.templatesDir = „%appDir%/presenters“
variable.logDir = %appDir%/log
; Staging site configuration data inherits from production and
; overrides values as necessary
[development < production]
bootstrap.php
<?php
Debug::enable(Debug::DEVELOPMENT, '%logDir%/php_error.log');
?>
vypis asi takyto:
Not Found
The requested URL was not found on this server.
Ono skusam vselico. najskor to nechcelo ani generovat odkazy v sablone. Musel som premenovat presentery aby zacinali s malym pismenom, takisto aj boostrape new Route … presenter ⇒ default.
je tam verzia PHP 5.2.0
ja mam 5.2.8
- _Martin_
- Generous Backer | 679
Takže:
- Zkus dát nějaký dump(echo cokoliv) do index.php a potom skript ukonči – chci mít jistotu, že mod_rewrite funguje správně.
- Presentery nech velkými písmeny a ta používej důsledně v routách
(Linux je case-sensitive):
'presenter' => 'Default'
. - Laděnku zapni jen
Debug::enable(Debug::DEVELOPMENT);
, hned po ní dej dump a skript ukonči. - Zkus měnit
$application->catchExceptions = TRUE/FALSE;
a nech běžet aplikaci normálně.
Snad něco z toho zabere.
Edit: P.S. Requirements Checker jsi zkoušel?
Editoval _Martin_ (5. 6. 2009 18:10)
- newPOPE
- Člen | 648
Zdravim,
tak po dlhom boji s velkymi a malymi pismenami som … vyhral :-), inak bolo vsetko v poriadku
thx to _Martin_, s tym Linuxom mi to nedoslo.
Uz som bol na tom tak ze som od mojho nadsenia z Nette upustit a robit bez
neho kedze len zacinam.
Ale rozhodol som sa, ze vydrzim :-), nakolko vyzera ze ma skvelu komunitu a
forum. Kde hned poradia resp. najdem odpoved na moj problem.
este raz vdaka vsetkym.
- RaR
- Člen | 42
Ahojte, po nahrání verze 0.9 dev (rev. 380 ze dne 26. 6. 2009) laděnak hlásí vyjímku. S nette 0.8 to fungovalo. Nevíte někdo, kde je problém?
InvalidArgumentException
Parameter 'presenter' must not be optional because parameters standing on the right side are not optional.
<?php
Line 59: ), Route::ONE_WAY);
Line 60:
Line 61: $router[] = new Route('admin/<presenter>/<view>/<id>', array(
Line 62: 'module' => 'Admin',
Line 63: 'presenter' => 'Default',
Line 64: 'action' => 'default',
Line 65: 'id' => NULL,
Line 66: ));
));Line 67:
Line 68: $router[] = new Route('profi/<presenter>/<view>/<id>', array(
Line 69: 'module' => 'Profi',
Line 70: 'presenter' => 'Default',
Line 71: 'action' => 'default',
Line 72: 'id' => NULL,
Line 73: ));
?>