Nastavení Nette pro webhosting
- 2rec
- Člen | 40
Přešel jsem na webhosting aerohosting.cz a oproti freehostingu, který jsem používal do té doby, tady nette nefunguje tak, jak bych potřeboval. Momentálně vypadá můj .htaccess soubor takto:
# disable directory listing
<IfModule mod_autoindex.c>
# Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# 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>
# enable gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>
a moje RouterFactory.php takto:
class RouterFactory
{
/**
* @return \Nette\Application\IRouter
*/
public function createRouter()
{
$router = new RouteList();
\NetteOpauth\NetteOpauth::register($router);
$router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
return $router;
}
}
a když přistoupím na web, vyhodí chybu 403. Jelikož mi routování nikdy obzvlášť nešlo, mohl by mě prosím někdo navést správným směrem a poradit, co mám přepsat?
EDIT: po přidání /www/ za adresu se dostanu na Homepage, ale z ní to přes odkazy už dál nejde.
Editoval 2rec (25. 4. 2014 0:57)
- Tomáš Kolinger
- Člen | 136
Tohle není o routování aplikace ale o směřování požadavků na index.php.
Kde máš umístěn htaccess? Zkus si přečíst FAQ https://doc.nette.org/…ubleshooting#… to je přesně tvůj problém
- 2rec
- Člen | 40
Tomáš Kolinger napsal(a):
Tohle není o routování aplikace ale o směřování požadavků na index.php.
Kde máš umístěn htaccess? Zkus si přečíst FAQ https://doc.nette.org/…ubleshooting#… to je přesně tvůj problém
Ten, co jsem vypsal nahoře, mám ve /www/ složce, ale teď jsem podle tvojí rady přidal do / složky ten .htaccess z https://doc.nette.org/…ubleshooting#… a přidal RewriteBase /
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(tamaty\.)?yellowjello\.cz$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^(tamaty\.)?yellowjello\.cz$
RewriteRule (.*) www/$1 [L]
a funguje mi přístup na úvodní stránku i přes tamaty.yellowjello.cz. Nicméně to je vše, protože po kliknutí na odkaz to vyhodí error 500 (…jello.cz/games/pexeso).
Nebudu snad muset dávat .htaccess do každe podložky ve /www/, ne? Nebo je to chyba mod_rewrite? Měl by být na tom hostingu povolený.
Editoval 2rec (25. 4. 2014 10:28)