solucionar soluciona solucion personalizada pagina not found error cómo crear como code bootstrap php redirect http-status-code-404

soluciona - ¿Cómo puedo crear un error 404 en PHP?



php set response code (7)

¿Recordó morir () después de enviar el encabezado? El encabezado 404 no detiene automáticamente el procesamiento, por lo que puede parecer que no ha hecho nada si se está procesando.

No es bueno redirigir a su página 404, pero puede INCLUIR el contenido sin problemas. De esta forma, tiene una página que envía correctamente un estado 404 desde la URL correcta, pero también tiene su "¿qué está buscando?" página para el lector humano.

My .htaccess redirige todas las solicitudes a /word_here a /page.php?name=word_here . El script PHP luego verifica si la página solicitada se encuentra en su conjunto de páginas.

Si no, ¿cómo puedo simular un error 404? Intenté esto, pero no resultó en mi página 404 configurada a través de ErrorDocument en el .htaccess que aparece.

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");

¿Estoy en lo cierto al pensar que es incorrecto redirigir a mi página de error 404?


Inmediatamente después de esa línea, intente cerrar la respuesta usando exit o die()

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); exit;

o

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); die();


La respuesta actualizada (a partir de PHP 5.4 o posterior) para generar páginas 404 es usar http_response_code :

<?php http_response_code(404); include(''my_404.php''); // provide your own HTML for the error page die();

die() no es estrictamente necesario, pero se asegura de que no continúe la ejecución normal.


Lo que está haciendo funcionará, y el navegador recibirá un código 404. Lo que no hará es mostrar la página "no encontrada" que podría estar esperando, por ejemplo:

Extraviado

La URL solicitada /test.php no se encontró en este servidor.

Esto se debe a que el servidor web no envía esa página cuando PHP devuelve un código 404 (al menos Apache no lo hace). PHP es responsable de enviar toda su propia salida. Entonces, si quieres una página similar, tendrás que enviar el HTML tú mismo, por ejemplo:

<?php header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404); include("notFound.php"); ?>

Puede configurar Apache para usar la misma página para sus propios mensajes 404, poniéndolo en httpd.conf:

ErrorDocument 404 /notFound.php


Prueba esto:

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


intenta poner

ErrorDocument 404 /(root directory)/(error file)

en el archivo .htaccess .

Haga esto por cualquier error pero sustituya 404 por su error.


Crear páginas de error personalizadas a través del archivo .htaccess

1. 404 - página no encontrada

RewriteEngine On ErrorDocument 404 /404.html

2. 500 - Error interno del servidor

RewriteEngine On ErrorDocument 500 /500.html

3. 403 - Prohibido

RewriteEngine On ErrorDocument 403 /403.html

4. 400 - Mala solicitud

RewriteEngine On ErrorDocument 400 /400.html

5. 401 - Se requiere autorización

RewriteEngine On ErrorDocument 401 /401.html

También puede redirigir todos los errores a una sola página. me gusta

RewriteEngine On ErrorDocument 404 /404.html ErrorDocument 500 /404.html ErrorDocument 403 /404.html ErrorDocument 400 /404.html ErrorDocument 401 /401.html