forpsi htaccess mod_rewrite hezke URL

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

Zdravím,

mám na hostingu u forpsi webovou prezentaci. Byl jsem ujištěn, že na daném hostingu běží podpora mod_rewrite. Na hostingu u wedosu mi vše fungovalo aniž bych v .htaccessech něco musel měnit.
Můj bootstrap.php vypadal takto:

<?php
$container->router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);

$container->router[] = new Route('admin/<presenter>/<action>/<id>', array(
    'module'    => 'Admin',
    'presenter' => 'Homepage',
    'action'    => 'default',
    'id'        => NULL
));

$container->router[] = new Route('<action>/<id>', array(
   'module'    => 'Front',
   'presenter' => 'Homepage',
   'action'    => 'default',
   'id'        => NULL
));
?>

Avšak pokud zadám nějakou adresu např. www.web.cz/o-nas, vyskoši na mě forpsi 404.
Přidal jsem proto do bootstrapu tuto podmínku:

<?php
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
    #puvodni kód
}
else {
    $container->router[] = new SimpleRouter('Front:Homepage:default');
}
?>

Teď již to funguje, ale bez hezkých URL.
Místo www.web.cz/o-nas je adresa www.web.cz/?…

Tím pádem pokud to chápu dobře, tak bootstrap při vytváření rout vyhodnotí situaci tak, že mod_rewrite zapnutý není.

V rootu webu mám pouze tento .htacces, který přesměrovává do složky www
RewriteEngine on
RewriteCond %{REQUEST_URI} !www/.*$
RewriteRule ^(.*)$ www/$1 [L]

Takže se ptám, je potřeba udělat v tomto .htaccessu (nebo nějakém jiném?) ještě nějaké změny, respektive pravidla pro hezké URL? Nikdy předtím jsem to na wedosu nepotřeboval, tak nevím.

Předem děkuji za reakce

Jan Cafourek

jiri.pudil
Nette Blogger | 1029
+
0
-

Podezírám Forpsi, že u nich PHP běží přes CGI a ne jako modul Apache. Řešení.