2010-07-21 6 views
0

Je le code suivant dans un script PHP:page 404 à Rediriger

<?php 

if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) 
{ 
    die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); 
} 

// Other statements follow here 
echo 'Hello there ...' 

au lieu de faire écho au message, je veux rediriger l'utilisateur vers une page 404. Cependant, lorsque je remplace l'instruction die() par celle-ci:

header ("HTTP/1.0 404 Not Found");

Un utilisateur exécutant le script à partir d'une machine distante est capable de voir le message « Bonjour là ... »

Comment puis-je obtenir la page de redirection page 404 pour les demandes non localhost scénario?

BTW, cet ID d'extrait de code provenant du contrôleur frontal de l'environnement de développement dans le framework Symfony.

Répondre

9

Il devrait être:

header("HTTP/1.0 404 Not Found"); 
exit(); 

Vous devez mettre le exit(); pour éviter cela.

+0

Je voudrais aussi ajouter: un appel 'header' seul n'arrêtera pas l'exécution du script, c'est pourquoi un' exit' ou 'die' est nécessaire. – Maerlyn

Questions connexes