Autor Zpráva
Tori
Profil
Pěkný den.
Při odeslání formuláře mi vyskočí "500 - internal server error", ale přitom URL na kterou se odesílá je normálně funkční. Mohli byste mi, prosím, poradit, kde bych měla hledat chybu?

Adresářová struktura:
/www
  +- domains
    +- xyz.example.com
      +- index.php

***** .htaccess  v /www:
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) /domains/%2/$1 [L]

**** .htaccess v xyz.example.com
RewriteEngine on

# route all requests to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]


Pokud zadám jen adresu, tak:
xyz.example.com - ok
xyz.example.com/domains/xyz.example.com - ok
xyz.example.com/prvni-stranka - ok
xyz.example.com/domains/xyz.example.com/prvni-stranka - ok

Vše prostě funguje v pořádku, ať je na konci lomítko nebo ne. Ale když na tu samou adresu pošlu formulář (třeba xyz.example.com/prvni-stranka), tak vyhodí chybu. Proč?
Díky moc za radu.
ninja
Profil
Odesíláte GET nebo POST? Není problém v programu, co zpracovává formulář?
Tori
Profil
Jen POST dělá problémy. Zkusila jsem teď odeslat jako GET a chyba nenastala (nicméně nechci používat GET na přihlašování).
Na localhostu funguje oboje.
ninja
Profil
Zkuste dočasně vypnout přesměrovávání. Domnívám se ale, že budete mít chybu ve skriptu, co zpracovává data.
Tori
Profil
Tak nakonec se ukázalo, že chyba byla ve volání call_user_func ve spojení s PHP 5.3.5 (na localhostu mám 5.2.14). Ale pořád mi není jasné, proč to vyhodilo chybu 500 místo nějaké standardní chybové hlášky PHP.
Davex
Profil
Tori:
Pokud je na serveru zakázáno zobrazování chyb PHP nebo pokud PHP při běhu zhavaruje, tak může webový server vrátit chybu 500.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: