Ah ok no sabía lo del shtml. Estoy haciendo pruebas y veo que me pasa una cosa.
En el htaccess tengo la url entera en el errordocument..
ErrorDocument 404 http://misitio.es/error404.html
Así funciona pero muestra la url esa, no la que no existe.
Si lo pongo así
ErrorDocument 404 /error404.html ya no muestra la url del error 404 sino la que no existe. Pero entonces no se muestra el documento de error personalizado. Solo se muestra en pantalla la ruta al archivo /error404.html
¿porque me pasa eso?
Ok ya funciona!
Resulta que tengo en localhost, en el pc, la copia de mi web para hacer pruebas y la tengo en localhost/copia-web/
Entonces he tenido que poner...
ErrorDocument 404 /copia-web/error404.html
Ahora ya va como quiero, muchas gracias!
Solo una cosa más. Tengo páginas dinámicas en las que he puesto que si el valor de la variable get no existe redirija a la página de error 404. Pero ¿como tendría que hacerlo para que me haga lo mismo?, es decir mostrar la página de error pero manteniendo la url que no existe.
Edito...
He leído un tuto en la red en el que hablaba sobre esto y se aconsejaba no usar redireccionamiento porque los buscadores pueden entender que existen esas páginas que en realidad no existen.
Así que he cambiado esto..
Código PHP:
if ($s3 == 0){
header('Location: ./404.htm');
}
por esto...
Código PHP:
if ($s3 == 0){
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
include ("./404.htm");
exit;
}
Ya va como quería!
Edito..
Una cosilla más. He puesto un meta "noindex" en la página personalizada de error 404. ¿está bien así o mejor dejar que la indexen los buscadores?