Routování administrace – nefunguje
- Pavel Kouřil
- Člen | 128
Mám takový menší problém, který zde sice byl omílán tisícekrát, ale i po přečtení spousty threadů nejsem o moc moudřejší. Možná to bude tím, že jsem v Nette absolutní začátečník.
Jak již napovídá název threadu, nefunguje mi routování do administrace. Jako základ jsem si vzal skeletona z verze nette-0.9-PHP-5.2 a přidal dle doporučované adresářové struktury složku AdminModule se soubory DefaultPresenter.php a @layout.phtml a Default.default.phtml do složek presenter a templates.
Mé routy v bootstrap.php vypadají následovně:
<?php
$router = $application->getRouter();
$router[] = new Route('index.php', array(
'presenter' => 'Homepage',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>/<id>', array(
'presenter' => 'Homepage',
'action' => 'default',
'id' => NULL,
));
$router[] = new Route('admin/<presenter>/<action>/<id>', array(
'module' => 'Admin',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL
));
?>
V prohlížeči mám error 404. Error log píše
[Sat Nov 07 00:41:31 2009] [error] [client 192.168.1.111] File does not exist: /home/amaranth/htdocs/pajousek.info/chata/chata
Verze PHP je php-5.2.10-r2, apache 2.2.12.
Na dokument se snažím přistupovat přes http://chata.pajousek.info/…t_root/admin
Předem děkuju za jakoukoliv pomoc, jsem už bezradný.
Editoval Pajka (7. 11. 2009 11:27)
- Pavel Kouřil
- Člen | 128
Jestli se prohozením podmínek myslí hodit $router[] s adminem na první
pozici, tak to nepomáhá. A nepomáhá to ani na druhé pozici.
Jen to při přístupu na /document_root/admin/ hodí 404, při přístupu na
/document_root/ to přesměruje na /document_root/admin/homepage/ a také
vyhodí 404ku.
- Pavel Kouřil
- Člen | 128
Tak jsem vyzkoušel i různé jednoduché redirecty a zjistil jsem, že
.htaccess nefunguje jak by měl.
Tady je ukázka mého nastavení pro vhost, bohužel vůbec nevím, kde by mohla
být chyba. Asi někde v tom rewrite, ale jak to řešit?
<VirtualHost *:80>
ServerName pajousek.info
ServerAlias *.pajousek.info
UseCanonicalName Off
DocumentRoot /home/amaranth/htdocs/pajousek.info
ErrorLog /var/log/apache2/error_log_pajousek.info
CustomLog /var/log/apache2/access_log_pajousek.info vhost
<IfModule mod_php5.c>
php_admin_value session.save_path "/home/amaranth/tmp/"
php_admin_value upload_tmp_dir "/home/amaranth/tmp/"
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^pajousek.info
RewriteCond %{REQUEST_URI} !awstats
RewriteRule ^(.*)$ /www/$1 [L]
RewriteCond %{HTTP_HOST} ^(.*)\.pajousek\.info
RewriteCond %{REQUEST_URI} !awstats
RewriteRule ^(.*)$ /%1/$1 [L]
</IfModule>
</VirtualHost>
<Directory /home/amaranth>
Options -Indexes FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>