Kom ihåg mig?

CustomErrors

Ämnesverktyg Visningsalternativ
Oläst 2008-03-19, 16:39 #1
hmngustav hmngustav är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2007
Inlägg: 9
hmngustav hmngustav är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2007
Inlägg: 9
Hej

Någon som vet om det går att skapa CustomErrors (med dynamisk skapad kod) med php-filer istället för html-filer för många olika webbplatser. Vi kör IIS6 och php5.

Det jag vill åstadkomma är att använda mig av typ

error404.php som ligger på ETT ställe på webservern, och få fram t.ex. besökaren ip-nr och vilken domän besökaren har hamnat fel på. Kanske visa tid eller något sådant...


Servern har stöd för php, asp, dotnet m.m.
Det verkar fungera för Apache, men verkar inte finnas något stöd för IIS? (Eller har jag fel?)



Jag har testat men själva php-koden körs inte (den syns på skärmen, men den syns i källkoden)
hmngustav är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-19, 18:43 #2
KarlRoos KarlRoos är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2007
Inlägg: 1 416
KarlRoos KarlRoos är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2007
Inlägg: 1 416
Citat:
Originally posted by hmngustav@Mar 19 2008, 17:39
Jag har testat men själva php-koden körs inte (den syns på skärmen, men den syns i källkoden)
Är filen sparad med ändelsen *.php?
PHP ska aldrig synas i källkoden, då finns det något grovt fel.
Förmodligen så är inte PHP installerat korrekt.

Så ominstallera PHP med Apache och gör sedan följande:

Placera en .htaccess fil i root med följande i:
Kod:
ErrorDocument 400 error.php?error=400
ErrorDocument 401 error.php?error=401
ErrorDocument 403 error.php?error=403
ErrorDocument 404 error.php?error=404
ErrorDocument 500 error.php?error=500
Sedan en PHP fil (error.php eller något):
Kod:
<?php
$error = $_GET['error'];

if($error)
{
echo '<h1>' . $error . '</h1>';

switch($error)
{
case '400':
echo 'Bad request';
break;
case '401':
echo 'Authorization required';
break;
case '403':
echo 'Forbidden';
break;
case '404':
echo 'Not found';
break;
case '500':
echo 'Internal server error';
break;
}

echo '
<br />
IP: ' . $_SERVER['REMOTE_ADDR'];

}
?>
That should do it
KarlRoos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-19, 18:48 #3
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
klart att det finns i IIS.
högerklicka på den (virtuella) webbplatsen du vill ändra errorsida på och välj egenskaper (eller motsvarande). Under "Custom errors" (jag har engelsk version) väljer man 404 (i detta fallet), URL och den virtuella sökvägen till filen som skall köras (t ex "/includes/error404.php".
allstars är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017