Problemas al personalizar el error 404 de Apache

Iniciado por Clavo Oxidado, 23 Septiembre 2014, 15:08 PM

0 Miembros y 1 Visitante están viendo este tema.

Clavo Oxidado

Hola a todos.

Quisiera saber como puedo personalizar el error 404, he estado buscando información de como poder hacerlo que casi la mayoría apuntan al archivo .htaccess así que cree uno nuevo en /etc/apache2 y puse este parámetro:

ErrorDocument 404 /miproyecto/error404.php

El directorio donde tengo alojado la página esta en /var/www/miproyecto y ahí mismo puse el archivo error404.php pero aún así no me sale, solo me coge la de por defecto e incluso en .htaccess puse este otro parametro:

ErrorDocument 404 "ESTO ES UN ERROR DE PRUEBA"

y nada, me sigue cogiendo la de por defecto.

En la configuración de apache tengo este parámetro habilitado:

AccesssFileName .htaccess

Y en sites-availables el archivo default tiene lo siguiente:


ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

   Alias /doc/ "/usr/share/doc/"
   <Directory "/usr/share/doc/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride None
       Order deny,allow
       Deny from all
       Allow from 127.0.0.0/255.0.0.0 ::1/128
   </Directory>


Por defecto está el AllowOverride None (creo que es donde sobrescribe o coge lo hay en .htaccess) cambie el valor por All e incluso lo comente y nada sigue igual tanto una forma como otra. El archivo .htaccess los permiso están todos dados 777. Mi sistema es un Ubuntu 12.4 LTS e incluso lo probe en un portatil con un Debian 7 y ocurre lo msimo.

¿Cuál es el problema?¿Alguna solución?

Gracias y un saludo.
"Dame 10 Hackers y en media hora dominaré el mundo."

el-brujo

No es obligatorio usar un .htaccess para un Error 404, en tu caso tienes acceso al fichero de configuración del apache y lo puedes añadir allí.

Todo lo que se puede hacer con un .htaccess también se puede hacer con el http.conf del apache.

Si, para que "lea" los ficheros .htacces el AllowOverride tiene que ser All

Si no quieres usar el .htaccess puedes dejarlo asi:

Citar<Directory /var/www/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all
   </Directory>

con AllowOverride None

pero añadir fuera  del Directory

ErrorDocument 404 /error404.php

error404.php tiene que estar en /var/www/error404.php porque es el DocumentRoot


Citar<Directory /var/www/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all
   </Directory>

ErrorDocument 404 /error404.php