Cita:
Iniciado por emprear el .htaccess que contiene la directiva debe de estar en la raiz de tu web, y luego en la ruta ponés la relativa a la raíz del sitio
ejemplo
si tu raiz (el document_root del sitio) es /htdocs
ponés ahi el htaccess y dentro
Código:
errorDocument 404 /404.html
y el 404.html en la raíz también, si el 404 lo ponés en otra carpeta
Código:
errorDocument 404 /otracarpeta/404.html
Hay una particularidad con IE, si tu 404.html tiene menos de 512 bytes, te muestra la página personalizada de error del sistema windows no la del Apache
ej.
404.html
Código:
<html>
<head>
<title>Error 404</title>
</head>
<body>
<h1>Página no encontrada</h1>
</body>
</html>
no te lo toma en IE, podés corregirlo poniendo simplemente
Código:
<html>
<head>
<title>Error 404</title>
</head>
<body>
<h1>Página no encontrada</h1>
<!--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -- > completás con caracteres hasta superar los 512 bytes
-->
</body>
</html>
Saludos
Ok. MI root es Tienda:
Y este es el codigo que tengo hasta ahora:
Código Apache:
Ver originalRewriteEngine On
RewriteBase /Tienda
#================================================
#Remueve el ultimo slash: ejemplo: www.pagina.com/hola/ por www.pagina.com/hola
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=permanent,QSA]
#================================================
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^principal\.php /registroUsuario.php [R]
RewriteRule ^productos$ /Tienda/principal.php [L]
RewriteRule ^productos/(.*)$ /Tienda/principal.php?cat=$1
#RewriteRule ^HojasDeEstilo/$ /Tienda/css/[L]
#================================================
#ERRORES
#================================================
ErrorDocument 404: /Tienda/Error/404.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]
Fijate que le tuve que poner la direccion ROOT en cada linea, de lo contrario no me tomaba la redireccion correctamente y no me encuentra el archivo. Esto sucede usando esa instruccion "rewriteBase" o no teniendola me pasa lo mismo, por eso mi duda de para que funciona esa instruccion.
Adicionalmente, pues probando esto veo que efectivamente al introducir algo como
el me manda a la pagina 404. sin problemas.
Pero si coloco algo como
Código Apache:
Ver originallocalhost/tienda/productos/cualquiercosa
El sitio pierde la ubicacion JS y los CSS . Alguna idea de porq puede ser? :S
Mas perdido q adan el dia de las madres.