Question

Je me demande s'il est possible d'utiliser mod rewrite ainsi que la décélération ErrorDocument pour personnaliser les pages d'erreur en fonction du type de fichier est demandé.

Par exemple, un fichier html ou php inexistante est demandée Apache donnera belle page HTML personnalisé.

Mais si une image inexistante, js, css, etc ... fichier est demandé alors Apache servira un fichier html de base avec seulement un lien sur elle.

Un bon exemple de ce comportement est Facebook. Essayez de demander un fichier JavaScript bogus, vous recevrez une page différente, alors si vous deviez demander un fichier php inexistant.

Était-ce utile?

La solution

Nous avons fini en utilisant une combinaison des deux ErrorDocument et RewriteRules cela fonctionne parce que la page php jette un 404 Not Found pour moi.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*(?<!.js|.css|.ico|.txt|.bmp|.gif|.png|.jpeg|.jpg)$ /error/404.php [L]

ErrorDocument 404 /404_basic.html

Autres conseils

Utilisation RewriteCond !-f avec une réécriture sur la page de sortie souhaité et un drapeau de R=404.

Vous pouvez utiliser un script PHP pour votre page 404:

ErrorDocument 404 /error404.php

Il vous permet d'analyser le chemin d'URL avec PHP (voir $_SERVER['REQUEST_URI'] ) et déterminer quel type de ressource a été demandée ou est prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top