WN

WN (https://www.wn.se/forum/index.php)
-   Allmänt (https://www.wn.se/forum/forumdisplay.php?f=2)
-   -   CustomErrors (https://www.wn.se/forum/showthread.php?t=28051)

hmngustav 2008-03-19 16:39

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)

KarlRoos 2008-03-19 18:43

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 ;)

allstars 2008-03-19 18:48

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".


Alla tider är GMT +2. Klockan är nu 09:53.

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