Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Clavo Oxidado en 23 Septiembre 2014, 15:08 pm



Título: Problemas al personalizar el error 404 de Apache
Publicado por: Clavo Oxidado en 23 Septiembre 2014, 15:08 pm
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:


Código:
	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.


Título: Re: Problemas al personalizar el error 404 de Apache
Publicado por: el-brujo en 26 Septiembre 2014, 20:49 pm
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