forpsi htaccess mod_rewrite hezke URL
- cafesk8
- Člen | 103
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
Podezírám Forpsi, že u nich PHP běží přes CGI a ne jako modul Apache. Řešení.