Problém s přesunem projektu na server ic.cz

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

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
+
0
-

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]
?>
Mesiah
Člen | 240
+
0
-

Tak zdá se, že mi to už jede.
Tak trochu jsem vykradl Romana Sklenare a jeho Blog na GitHubu, tímto mu chci poděkovat a ať se nezlobí :)