Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
#1 · Zasláno: 21. 10. 2010, 11:15:04 · Upravil/a: nethor
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 * |
#2 · Zasláno: 21. 10. 2010, 14:14:07
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 |
#3 · Zasláno: 21. 10. 2010, 14:27:13
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 * |
#4 · Zasláno: 21. 10. 2010, 14:40:15
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 |
#5 · Zasláno: 21. 10. 2010, 14:59:00
Kajman:
Samozřejmě. Neexistující. |
||
Kalda Profil |
#6 · Zasláno: 21. 10. 2010, 17:34:44
Jakou adresu vidíš zapsanou v adresním řádku prohlížeče??? Tu /error.php , nebo tam máš /neexistující_stránka ???
|
||
Davex Profil |
#7 · Zasláno: 21. 10. 2010, 19:10:27
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 |
#8 · Zasláno: 21. 10. 2010, 20:04:15
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 |
#9 · Zasláno: 21. 10. 2010, 20:13:01
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 |
#10 · Zasláno: 21. 10. 2010, 20:26:47
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 |
#11 · Zasláno: 21. 10. 2010, 21:25:59
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. |
||
Časová prodleva: 13 let
|
0