Problém s přesunem projektu na server ic.cz
- Mesiah
- Člen | 240
Dobrý den,
prosím Vás, mám problém po přesunu projektu na „ostrý server“.
Problém je v tom, že když odkazuji na modul/presenter/neco/neco/ (zatím
nemám dotažené roury) je v URL něco jako
http://sebastian.e-blog.cz/front.login/
jenže dostávám Error
404, které nepochází od Nette.
Server je ic.cz, kde běží PHP 5.2 (osobně mi běží 5.3 s Nette bez
namespace a bez prefixů). Aplikace se má adresářovou strukturu danou
skeletonem.
Odkaz na adresu, kde má
běžet web.
A druhý problém je, že pokaždé musí být v URL také /document_root/ aby
proběhlo spuštění, tady na fóru jsem četl, že někdo dává index.php do
rootu webu, ale pak $basePath
odkazuje do rootu webu, ale já
potřebuji aby byla v /document_root/.
.htaccess
# disable directory listing
Options -Indexes
# configure PHP
# <IfModule mod_php5.c>
# php_flag magic_quotes_gpc off
# php_flag register_globals off
# php_flag zend.ze1_compatibility_mode off
# </IfModule>
# mod_rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /document_root/
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
bootstrap.php
<?php
<?php
/**
* My Application bootstrap file.
*
* @copyright Copyright (c) 2010 John Doe
* @package MyApplication
*/
// Step 1: Load Nette Framework
// this allows load Nette Framework classes automatically so that
// you don't have to litter your code with 'require' statements
require LIBS_DIR . '/Nette/loader.php';
// Step 2: Configure environment
// 2a) enable Debug for better exception and error visualisation
Debug::enable(Debug::DEVELOPMENT);
// 2b) load configuration from config.ini file
Environment::loadConfig();
// 2e) setup sessions
// $session = Environment::getSession();
// $session->setSavePath(APP_DIR . '/sessions/');
// Step 3: Configure application
// 3a) get and setup a front controller
$application = Environment::getApplication();
$application->errorPresenter = 'Error';
$application->catchExceptions = FALSE;
dibi::connect(Environment::getConfig('database'));
// Step 4: Setup application router
$router = $application->getRouter();
$router[] = new Route('index.php', array(
'module' => 'Front',
'presenter' => 'Post',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>/<id>', array(
'presenter' => 'Front:Post',
'action' => 'default',
'id' => NULL,
));
// Step 5: Run the application!
$application->run();
?>
Editoval Mesiah (14. 8. 2010 23:57)
- newPOPE
- Člen | 648
Najjednoduchsie je asi index.php a .htaccess vyhodit do rootu webu. Nevidim na tom nic zle, pokial mas /libs a /app zabezpeceny .htaccessom osobne to tak pouzivam vsade :-).
.htaccess
<?php
RewriteEngine On
RewriteBase /
#alebo, kvoli tomu ze na lokale nepouzivam vhosty
#RewriteBase /xxx/yyy
RewriteRule ^(css|images|swf|flv|js|other)(.*) document_root/$1$2 [L]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
?>