Z ničeho nic nefunkční odkazy
- Manny7
- Člen | 67
Dobré ráno,
dneska jsem přišel k počítači a zapnul localhost – a z ničeho nic mi
nefungují odkazy. Přitom včera a předtím šlapalo vše jak má, ale teďka
prostě nic. Týká se to jen projektů v Nette, ostatní projekty jedou
v pohodě.
V Nette jde o komplet všechny projekty – ať už o ty, které jsem si zkusil napsat sám nebo i o stažené tutoriály (Akrabat, TodoList)… Ať kliknu prostě na cokoli, „broken link“…
Nesetkal se někdo s podobnou chybkou? Pořádně teď ani nevím, kde hledat chybu, protože do nějakého globálního nastavení Apache nebo něčeho podobného jsem se nepouštěl…
Předem děkuji za vaše tipy a rady
Editoval Manny7 (8. 8. 2010 11:24)
- Manny7
- Člen | 67
hrach ať kliknu na jakýkoli odkaz v jakémkoli projektu
v Nette, dostanu „Oops! This link appears to be broken.“ …u ostatních
projektů, které jsem si napsal mimo tento framework jdou v pořádku.
Problém je jen u věcí s Nette, mrknul jsem do apache logu a mám tam
tohle:
[Sun Aug 08 13:22:35 2010] [error] [client 127.0.0.1] File does not exist:
/var/www/TodoList/document_root/pridat-ukol, referer: http://localhost/…cument_root/
I když ten soubor samozřejmě existuje… moc nevím co s tím
EDIT: nemůže být třeba něco s mod_rewrite?
EDIT2: teď jsem zkusil příklad na ajaxy a ty fungují. Nefungují
„klasické“ odkazy – ani třeba obyčejný příklad na static_web
v dokumentaci
Editoval Manny7 (8. 8. 2010 13:47)
- Manny7
- Člen | 67
Panda právě mi bohužel nejde ani příklad na
„Statický web“ v dokumentaci, kde se rewritu skoro nevyužívá (ale
zkusil jsem ho i s ním, bohužel nic).
A k tomu správně nastavenému rewritu? Já jej přeci můžu jen zapnout a
vypnout, ne?
Mám ubuntu a zkusil jsem si: sudo a2enmod rewrite a vypsalo mi
to, že rewrite je povolen.
- Panda
- Člen | 569
I „statický web“ využívá mod_rewrite – ten se právě stará
o to, aby se Ti adresa typu http://localhost/pridat-ukol
přesměrovala na soubor index.php
, který se postará o správné
zpracování požadavku.
Můžeš ho sice jen vypnout a zapnout, ale pak taky musíš v aplikaci
nastavit, že se má používat. To uděláš v souboru .htaccess
v document_root
:
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# 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>
Proto se Tě ptám, jestli v document_root
webu ten soubor
.htaccess
máš a jestli v něm jsou příslušné direktivy.