[php] 404 w php

Odpowiedz Nowy wątek
2006-08-19 22:19
0

cześć,
znacie w jaki sposób zrobić 404 z php? Próbowałem tak jak jest w manualu:

<?php
header("HTTP/1.0 404 Not Found");
?> 

ale mam czystą stroną.

Pozostało 580 znaków

2006-08-20 02:19
0

można jeszcze tak:

header("Status: 404 Not Found");

Pozostało 580 znaków

2006-08-20 09:17
0

Bo oprócz wysłania nagłówka wypadałoby wysłać jescze jakiś tekst czy coś.

<?php
    header("HTTP/1.0 404 Not Found");
    echo "<h1>Błąd 404</h1><p>Strona, której szukasz, nie została znaleziona na tym serwerze</p>";
?>

Pozostało 580 znaków

2006-08-20 13:05
0
prgtw napisał(a)

można jeszcze tak:

header("Status: 404 Not Found");

niestety tak samo

Ktos napisał(a)

Bo oprócz wysłania nagłówka wypadałoby wysłać jescze jakiś tekst czy coś.

<?php
header("HTTP/1.0 404 Not Found");
echo "<h1>Błąd 404</h1><p>Strona, której szukasz, nie została znaleziona na tym serwerze</p>";
?>

ja chce domyslna strone 404 a nie wlasna...

Pozostało 580 znaków

2006-08-20 13:12
nav
0
<?php
    header("HTTP/1.0 404 Not Found");
    print(file_get_contents('http://localhost/nonexistentpage/'.rand(0,100)));
?>

utf-8 rlz! ٩(ಥ_ಥ)۶

Pozostało 580 znaków

2006-08-20 13:52
0
nav napisał(a)
<?php
header("HTTP/1.0 404 Not Found");
print(file_get_contents('http://localhost/nonexistentpage/'.rand(0,100)));
?>

niestety nie dziala :(

Pozostało 580 znaków

2006-08-20 13:59
0

no a co się pojawia ? biała strona ? to zależy od przeglądarki a IE czasem wyświetla blanka zamiast 404
a oczywiście po header musisz dać Die jeśli nie chcesz żeby reszta strony trafiła jako własna 404

ja tak mam przy admin.php:

<?php
require('common.php');
if(!is_logged() || privil() < SR_ADMIN ){
  Header('Status: 404 Not Found');
  Die();
}
?>
tutaj treść panelu admina

i nikt nawet nie jest pewny w 100% czy admin.php w ogóle istnieje

nav - czy to nie głupie pobierać stronę której nie ma tylko po to żeby przekazać taką userowi ? poza tym to już na pewno nie będzie defaultowa przeglądarki tylko 404 serwera np apache


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-08-20 14:01
nav
0
<?php
    $f=fsockopen('localhost', 80);
    $adres = '/nonexistent/'.md5(rand());
    fputs($f, 'GET ' . $adres . " HTTP/1.0\n\n");
    while (!feof($f))
    {
        $s .= fread($f, 1024);
    }
    fclose($f);
    $s = substr($s, strpos($s, "\r\n\r\n")+4);
    $s = str_replace($adres, $_SERVER['REQUEST_URI'], $s);
    echo $s;
?>

$adres można podać dowolny. Ważne, aby nie istniał na serwerze :)


utf-8 rlz! ٩(ಥ_ಥ)۶

Pozostało 580 znaków

2006-08-20 17:32
0

a tutaj mam mój speciał na strony z błędami. Zapisuje wszystkie błędy do logów :D

<?
$querry=explode('|||||',$_SERVER[QUERY_STRING]);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title><?="Wystąpił błąd ".$querry[0] ?></title>
</head><?php
$querystr=$querry[0];
$querytxt=$bodytag = str_replace("_", " ", $querry[1]);
echo "Błąd $querystr: ".$querytxt;
$xae = $_SERVER[REQUEST_URI];
$baza = "errorlogs/log".$querystr.".txt";    
$plik = fopen($baza, "a");
fputs($plik , date(r)."\t".$xae."\n");       
fclose($plik);?></html>

Używa się go prosto, do pliku httpd.conf wpisujemy
ErrorDocument 404 /error.php?404|||||Brak_pliku_na_serwerze.
Dla błędu 403:
ErrorDocument 403 /error.php?403|||||Dostęp_zabroniony.
Może komuś się przyda ;]


Stopki brak.

Pozostało 580 znaków

2006-08-21 10:25
maniek_2
0
header('HTTP/1.0 404 Not Found',1,404);
exit();

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0