Route – „krásné adresy“
- scerny
- Člen | 25
Na toto téma je tu obrovská spousta diskuzí. Procházím je od rána a to co nechápu jsem nenašel a proto prosím o vysvětlení. V bootstrap.php jsem nastavil routy podle návodu v quick startu. V šabloně jsem použil příkazy link. Stránka se načte a odkazy jsou na „krásné adresy“. Problém nastane po odkliknutí odkazu, protože stránka neexistuje. Co zajišťuje zpětné vyhodnocení „krásné adresy“? Nebo jsem jako vždycky úplně mimo? Omlouvám se za triviání dotaz. Díky Standa.
- Honza Kuchař
- Člen | 1662
Musíš mít v document_root .htaccess. → Apache musí mít povolený mod_rewrite. Případně správně nakonfigurované IIS.
- scerny
- Člen | 25
Ten tam mám, ale asi takto vypadat nemá, co?
# 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 /
#RewriteLog "/home/httpd/html/standa/TodoList/document_root/rewrite.log"
#RewriteLogLevel 9
# 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>
Editoval scerny (15. 4. 2010 14:08)
- Honza Kuchař
- Člen | 1662
- nastav RewriteBase
- zkontroluj si, jestli vůbec je .htaccess povolen
//EDIT: Jinak zdá se, že je to dobře.
Editoval honzakuchar (15. 4. 2010 14:10)
- scerny
- Člen | 25
Rád bych všem poděkoval za pomoc.
Malá rekapitulace:
Zapnutí využívání .htaccess v konkrétních adresářích webu:
V nastavení Apache → httpd.conf sekce Directory:
<Directory "c:/web_apache">
...
AllowOverride All
...
</Directory>
Protože testovací web mám v podadresáři tak je potřeba upravit RewriteRule v souboru .htaccess například takto:
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ /TodoList/document_root/index.php [L,QSA]
A už to maká jak má. Standa.
- Honza Kuchař
- Člen | 1662
scerny napsal(a):
Protože testovací web mám v podadresáři tak je potřeba upravit RewriteRule v souboru .htaccess například takto:
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ /TodoList/document_root/index.php [L,QSA]
A už to maká jak má. Standa.
Tady by měl pomoci RewriteBase