Tengo un archivo secret.php que se incluye en index.php y quiero mostrar una página de error 404 cuando alguien intenta acceder a secret.php directamente. Pero

header("Location: this_site_certainly_does_not_exist");

en secure.php no es una solución, porque quiero que la dirección URL que el usuario ha escrito (por ejemplo,example.com/secret.php) para ser visible en el navegador la URL de la barra de la página de error se muestra, en lugar de redirigir.

InformationsquelleAutor veeveeoor | 2013-11-30

5 Comentarios

  1. 11

    Usted puede hacerlo con los encabezados.

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

    a continuación, puede añadir su página 404 usar, por ejemplo, readfile método.

    header("HTTP/1.0 404 Not Found");
    echo "<h1>404 Not Found</h1>";
    echo "The page that you have requested could not be found.";
    exit();
    • Pero yo quiero a la pantalla predeterminada de la página de error 404.
    • Ahora se muestra.
    • Si usted tiene un diferente 404 de página de la plantilla, sólo file_get_contents o include ella.
    • De donde lo incluyen ?
    • Umm.. la plantilla para la página de error 404 o mi código?
  2. 0

    No veo por qué se quiere mantener que en el navegador, la mejor práctica es redirigir al usuario a una página de error 404.

    Te sugiero hacerlo con un apache (.htaccess) o nginx redirigir.

    • No puedo editar htaccess. El archivo no está en mi servidor.
  3. 0

    No estoy seguro acerca de la arquitectura de la aplicación, pero Codeignter hace esto mediante la inclusión de un archivo común que se utiliza en todos los archivos (en su caso index.php)

    La index.php el archivo incluye una definición

    define('BASEPATH', $system_folder.'/');

    Y, a continuación, en archivos que sólo debe ser utilizado por ser incluidos en otros archivos

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    Ver cómo se puede adoptar ese esquema para su propia situación.

  4. -1

    para la solución permanente que puede utilizar .htaccess para redireccionar cuando secret.php se llama

      # Mod for redirecting specific URL requests to a custom error page
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} ^/secret.php [NC]
      RewriteRule . /your-error-page.php [L]
      # End of custom mod
    • No puedo editar htaccess. El archivo no está en mi servidor.

Dejar respuesta

Please enter your comment!
Please enter your name here