Na localhostu OK, na production 404

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jirda
Člen | 103
+
0
-

Zdravim,

mam takovy problem.

Mam aplikaci, ktera je rozdelena na front a admin.

Kdyz se dostanu do casti admin, zadam prihlasovaci udaje a dam odeslat…zobrazi se mi error 404…Tento error se navíc zobrazí i pokud se pak snažím dostat na ten přihlašovací formulář zpět.

Netusi prosim nekdo, cim to nebo pripadne jak na produkcnim serveru zproovznit nejak ladenku, aby mi nepodstrcila 404 a zobrazila mi vice informaci?

Zvlastni je, ze se tento problem na localhostu nevyskytuje. Tam vse bezi v poradku.

Predem diky za reakce a tipy.

Bumerank
Člen | 30
+
0
-

mě to tuto chybu vyhazuje i na localhostu…s tím, že se ani laděnka nezobrazí (i když je zapnutá)

studna
Člen | 181
+
0
-

A co .htaccess?

Bumerank
Člen | 30
+
0
-

vše jsem povolil – beze změny

studna
Člen | 181
+
0
-

A zkoušel jsi odkomentovat řádek #RewriteBase /? A načte se Nette (poznáš třeba podle debug baru)?

Bumerank
Člen | 30
+
0
-

2 studna: jestli myslíš v document_root/.htaccess, tak jsem to teď zkusil a beze změny

ještě dodám informaci, že úvodní stránka se zobrazí, ale po kliknutí na odkaz to vyhodí chybu 404 (kolegovi ten samý odkaz na jiném PC fungoval), URL routa asi bude správně, protože to na ní žádnou chybu nehlásí…

Editoval Bumerank (27. 2. 2011 17:07)

studna
Člen | 181
+
0
-

A když se podíveš do debug baru na routy, tak je nějaká aktivní? Popř. máš správně pojmenované šablony?

edit: A když to fungovalo na jiném PC, máš zaplé rozšíření mod_rewrite?

Editoval studna (27. 2. 2011 17:19)

Bumerank
Člen | 30
+
0
-

mod_rewrite se taky povoluje v tom .htaccessu, ne? To jsem taky zkoušel odkomentovat a taky beze změny.

print screen debug baru – aktivní bude asi ta zelená, předpokládám (jinak ta chyba, která tam je nemá na tento můj problém vliv – i když tam nebyla, tak to dělalo to samé)

studna
Člen | 181
+
0
-

Mod_rewrite musíš první načítat přímo v httpd.conf, abys ho mohl dál používat. Takže se mrkni tam, jestli tam není řádek:
#LoadModule rewrite_module modules/mod_rewrite.so
místo:
LoadModule rewrite_module modules/mod_rewrite.so

To způsobuje to, že po přejítí z hlavní stránky kamkoliv jinam dostaneš 404. Akorát jsi mi furt nenapsal, jestli se ti načte Nette nebo je to prostě klasická 404. Kdyby se nenačetlo, chyba bude nejspíš u toho mod_rewrite. Pokud se načte, chyba bude v cestách k šablonám.

Bumerank
Člen | 30
+
0
-

nejsem si jist, co myslíš tím, jestli se Nette načte – no dole se objeví ten status bar, tak si myslím, že to jede přes Nette, protože tu domovskou stránku mého projektu otevírám přes document_root/index.php
mod_rewrite jsem měl zakázaný, ale ani po povolení a preventivním restartu serveru to nepomohlo…takže teď už zbývá jen ta chyba v šablonách? (což je divné, když to kolegovi šlo)

studna
Člen | 181
+
0
-

Dej tu celý screen i s tou chybou 404. Popř. zkus zase odkomentovat ten řádek v .htaccess.

Bumerank
Člen | 30
+
0
-

chybová stránka ..v .htaccess jsem zase zkoušel odkomentovat RewriteBase / a mod_rewrite a stále nic

studna
Člen | 181
+
0
-

.htaccess

# configure PHP
php_flag magic_quotes_gpc off
php_flag register_globals off

# mod_rewrite
RewriteEngine On

#radek niz popripadne odkomentovat, zadny jiny
#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]

A tento soubor musíš mít umístěný vedle index.php

Editoval studna (27. 2. 2011 21:09)

Bumerank
Člen | 30
+
0
-

to mám tím pádem v pořádku a stále stejná chyba :(

studna
Člen | 181
+
0
-

Když připíšeš do index.php třeba

var_dump( 'Hello world' );

Vypíše se ti to nad tou 404kou? Pokud ne, tak máš pokazený mod_rewrite nebo nevím.

Bumerank
Člen | 30
+
0
-

nevypíše se to.. :(

studna
Člen | 181
+
0
-

Zkus si vypsat phpinfo(), jestli se ti modul mod_rewrite opravdu načítá.

Bumerank
Člen | 30
+
0
-

mám ho uveden mezi Loaded Modules, takže se načítá

Ondřej Brejla
Člen | 746
+
0
-

Co třeba RewriteBase document_root/? Možná lomítko na začátku, na konci, nebo na obou stranách, nejsem si jist.

Bumerank
Člen | 30
+
0
-

vyzkoušeno…taky bohužel beze změny

_Martin_
Generous Backer | 679
+
0
-

Podívej se do souboru httpd.conf, najdi nastavení rootu webu a zkontroluj, zda je povolené načítání souboru .htaccess (direktiva AllowOverride musí být na All)

# mělo by to vypadat nějak takto, za "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" si dosaď cestu podle své instalace:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
Bumerank
Člen | 30
+
0
-

povolil jsem všude všechno a rozjelo se to…díky moc všem za nápady ;)