Por favor, dime por qué esto no está funcionando. Estaba funcionando, pero inexplicablemente ha decidido dejar de trabajar.
En php emitir un 404 si no se encuentra la página como tal.

if(checkPageExists($escaped_url_page_name)){
header('HTTP/1.1: 200 OK');
}else{
header("HTTP/1.0 404 Not Found");
die;
}

Mi htaccess es

php_flag magic_quotes_gpc Off

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

ErrorDocument 404 /404.php

La página de error 404 es en la raíz y es el nombre 404.php. ¿Por qué no funciona cuando hace cinco minutos se fue y no ha cambiado nada. He probado la página con fiddler y de hecho es tirar el 404, pero la redirección no está sucediendo. Tengo urls amigables implementado, pero yo no creo que esto afecta a él como el «/» en el htaccess se refiere a la física de la raíz del sitio, pensé. Gracias de antemano.

  • Es que la única línea en el .htaccess, o hay otras líneas que pueden afectar a la ErrorDocument línea?
  • actualizado con toda la htaccess
InformationsquelleAutor jiraiya | 2011-10-05

1 Comentario

  1. 3

    Tuve un problema similar una vez – cuando PHP tira un error 404 de cabecera, Apache generalmente no va a hacer una página de error 404 para ello. (Edit: a Lo mejor tiene que ver con el hecho de que PHP salidas de cualquier texto. Realmente no he experimentado mucho con él.) Si usted compruebe los encabezados en su navegador, usted puede ver que el 404 encabezado trabajado, incluso si la página está en blanco.

    No estoy seguro acerca de una solución automatizada, pero acabo de hacer un http_error($code) función que imprime mi página de error personalizada y llamó a los que, junto con header() cuando mi código manualmente activa un mensaje de error 404. Luego he enlazado un poco de código para ErrorDocument que llama http_error sólo:

    ErrorDocument 404 index.php?http_error=404
    ErrorDocument 403 index.php?http_error=403

    …y así sucesivamente.

    • Gran respuesta esto me ayudó. Un millón de gracias!!

Dejar respuesta

Please enter your comment!
Please enter your name here