Autor Zpráva
nethor
Profil
Ahoj, prosím, poraďte:
v .htaccess mám řádek:
ErrorDocument 404 error.php?error=404

a v souboru error.php zapisuju do databáze chyby.

Potřeboval bych ale ještě předat url, která vyvolala chybu.
něco jako:
ErrorDocument 404 error.php?error=404&request=%{REQUEST_URI}

Předání param. request mi ale nefunguje. Jak to mám správně do htaccess zapsat?
Kajman_
Profil *
A nestačí použít přímo proměnnou $_SERVER["REQUEST_URI"] v php? A možná se hodí zapsat i $_SERVER["HTTP_REFERER"].
nethor
Profil
Kajman:
["REQUEST_URI"]=>
string(20) "/error.php?error=404"

to je mi k ničemu

a $_SERVER["HTTP_REFERER"] je prázdný.

Musí to jít přece nějak zapsat do htaccess.
Kajman_
Profil *
A při testování jste zadal do prohlížeče adresu error.php nebo nějakou neexistující? A referer je nastavený jen někdy.
nethor
Profil
Kajman:
Samozřejmě. Neexistující.
Kalda
Profil
Jakou adresu vidíš zapsanou v adresním řádku prohlížeče??? Tu /error.php , nebo tam máš /neexistující_stránka ???
Davex
Profil
nethor:
URL neexistující stránky je skriptu předáno v proměnné $_SERVER['REDIRECT_URL'] a vyvolaný chybový kód v proměnné $_SERVER['REDIRECT_STATUS'].

Krom toho, by cesta ke skriptu v ErrorDocument měla být absolutní:
ErrorDocument 404 /error.php
nethor
Profil
Davex:
jasně, v příkladu jsem to zjednodušil konkrétně je v htaccess
(nešlo to sem korektně vložit, dělá v tom binec BBcode)

ErrorDocument 404 http://www.znalcijested.cz/error.php?error=404

a do http://www.znalcijested.cz/error.php jsem přidal var_dump($_SERVER);

$_SERVER['REDIRECT_URL'] i $_SERVER['REDIRECT_STATUS'] jsou prázdné.
Davex
Profil
nethor:
Jako chybovou stránku nepoužívej kompletní URL, ale jen cestu ke skriptu od kořene webu s lomítkem na začátku. Ten tvůj zápis byl pro odhalení problému klíčový, protože ve skutečnosti přesměrovává na nové URL a nevolá chybový skript přímo.
nethor
Profil
Davex:
Jo díky, už to funguje.
v htaccess mám nyní ErrorDocument 404 /error.php?error=404

Krom toho, by cesta ke skriptu v ErrorDocument měla být absolutní:
No to jsem si právě myslel taky.

Kalda,
Původně s absolutní url http://www.znalcijested.cz/error.php?error=404
nyní s relativní http://www.znalcijested.cz/nesmysl

Díky všem za pomoc.
nethor
Profil
Ještě pro 'budoucí pokolení': ten var_dump($_SERVER); jsem v error.php
odmázl, (byl tam jen pracovně,) takže výpis $_SERVER nadále nebude fungovat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0