par
Victor BRITO » 22 août 2009, 18:47
par contre j'ai trouvé une autre solution qui fonctionneet qui prend les fichiers html htm et php.
Code : Tout sélectionner
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /errors/404.php
ErrorDocument 400 /errors/404.php
ErrorDocument 401 /errors/404.php
ErrorDocument 403 /errors/404.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/404.php
RemoveType x-mapp-php4 .html
C'est un code que j'ai trouvé en passant par google mais je ne le comprend pas. En tout cas sa fonctionne mais pourquoi ?
Explication : si aucun fichier (!-f) ou aucun répertoire (!-d) n'est trouvé pour la requête demandant un nom de fichier ou de répertoire (les deux conditions RewriteCond %{REQUEST_FILENAME}), alors la requête fait l'objet d'une réécriture (RewriteRule) qui la redirige vers ta page d'erreur personnalisée. Quant à la ligne RemoveType, elle ne me semble pas utile (elle sert uniquement à retirer un type MIME de la liste de ceux que le serveur doit traiter).
En tout cas, pour savoir pourquoi ton hébergeur ne prend pas en charge ta page 404 avec la seule directive ErrorDocument, le mieux est d'entrer en contact avec le support technique de ton hébergeur.
[quote="fabrice88250"]par contre j'ai trouvé une autre solution qui fonctionneet qui prend les fichiers html htm et php.
[code]RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /errors/404.php
ErrorDocument 400 /errors/404.php
ErrorDocument 401 /errors/404.php
ErrorDocument 403 /errors/404.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/404.php
RemoveType x-mapp-php4 .html[/code]
C'est un code que j'ai trouvé en passant par google mais je ne le comprend pas. En tout cas sa fonctionne mais pourquoi ?[/quote]
Explication : si aucun fichier (!-f) ou aucun répertoire (!-d) n'est trouvé pour la requête demandant un nom de fichier ou de répertoire (les deux conditions RewriteCond %{REQUEST_FILENAME}), alors la requête fait l'objet d'une réécriture (RewriteRule) qui la redirige vers ta page d'erreur personnalisée. Quant à la ligne RemoveType, elle ne me semble pas utile (elle sert uniquement à retirer un type MIME de la liste de ceux que le serveur doit traiter).
En tout cas, pour savoir pourquoi ton hébergeur ne prend pas en charge ta page 404 avec la seule directive ErrorDocument, le mieux est d'entrer en contact avec le support technique de ton hébergeur.