Problème avec Erreur 404 personnalisée et .htaccess

Nouveau WRInaute
Bonjour,

J'ai un problème d'intégration d'une page d'erreur 404 sur le site de ma boîte.

J'ai créé une page html (nommée 404.html) et j'ai ajouté cette ligne dans le fichier .htaccess : ErrorDocument 404 /404.html

Ceci marche parfaitement puisque si je tape une adresse erronée, ma page 404 personnalisée s'affiche bien. Le problème, c'est que du coup, toutes les pages du site affichent cette page.

J'ai eu beau chercher, j'ignore totalement le pourquoi du comment.

Mon fichier .htaccess contient ceci :

  • ErrorDocument 404 /404.html
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} ^http://(.+\.)?----------\.net/ [NC,OR]
    RewriteCond %{HTTP_REFERER} ^http://(.+\.)?----------\.com/ [NC,OR]
    RewriteCond %{HTTP_REFERER} ^http://(.+\.)?----\.ca/ [NC,OR]
    RewriteCond %{HTTP_REFERER} ^http://(.+\.)?--------\.com/ [NC,OR]
    RewriteCond %{HTTP_REFERER} ^http://(.+\.)?-------\.be/ [NC]
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ no_hotlink.gif [L]

Quelqu'un a-t-il déjà rencontré ce problème ? Y a-t-il une solution ?
 
Nouveau WRInaute
Il nous faudrait plus de détails.
Des exemples de tes urls.

Que se passe-t-il si tu mets la ligne ErrorDocument en commentaire (avec un "#" devant)
 
Nouveau WRInaute
Les liens du site se présentent comme tels :

http://www.shift.be/professionnels/services
http://www.shift.be/particuliers/services

Si je mets la ligne en commentaire, la page 404 que j'ai créée ne s'affiche plus et toutes les pages deviennent inaccessibles :

"Not Found
The requested URL /ht was not found on this server.
Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g Server at http://www.shift.be Port 80"

Sinon, la ligne Error Document se présentait avant mes modifs comme ceci :
ErrorDocument 404 /index.php?resolve_alias=1
 
Nouveau WRInaute
Shift-Zone a dit:
Si je mets la ligne en commentaire, la page 404 que j'ai créée ne s'affiche plus et toutes les pages deviennent inaccessibles
...
ErrorDocument 404 /index.php?resolve_alias=1

Ok, ça veut dire que c'est ta page 404 qui se charge d'afficher les bonnes pages ...
C'est crade, mais ça existe comme structure.

Solution :
Demande à ton webmaster de refaire proprepement l'a réécriture d'URL.
C'est à dire que ton fichier htacess doit ressembler vaguement à ça

Code:
ErrorDocument 404 /404.html
RewriteEngine On
RewriteRule   ^(([a-z]|-)*)$   /index.php?resolve_alias=1 [L]
 
Discussions similaires
Haut