web-dev-qa-db-fra.com

Apache ErrorDocument basé sur le dossier

J'utilise XAMPP avec Apache 2.4.18.

Mon client a 3 divisions de son travail (ils font 3 choses différentes donc ils ont 3 divisions à l'intérieur du site Web).

Donc, l'URL est comme ceci: clientName.domain/workDivision X

J'ai cette structure de dossier:

htdocs
L clientName
  L .htaccess
  L workDivision1
    L css
    L img
    L js
    L errors
      L 404.php
      L 500.php
    L //other files
  L workDivision2
    L css
    L img
    L js
    L errors
      L 404.php
      L 500.php
    L //other files
  L workDivision3
    L css
    L img
    L js
    L errors
      L 404.php
      L 500.php
    L //other files

La conception entre ces 3 divisions est si différente que je dois afficher un style et un contenu différents dans les documents d'erreur.

Donc, si je vais à: clientName.domain/workDivision1/asdfghjk (résultant en HTTP 404), je devrais pouvoir afficher le 404 error page de workDivision1 . Même chose avec les autres divisions.

Existe-t-il une chance d'afficher la base ErrorDocument sur le dossier de la division? Pas nécessairement doit être fait par htaccess . Je suis ouvert aux alternatives.

4
Jimmy Adaro

Une façon de faire est simplement de définir un ErrorDocument distinct pour chaque répertoire. Créez un fichier .htaccess dans chaque sous-répertoire avec la directive appropriée ou utilisez les conteneurs <Directory> dans la configuration de votre serveur.

Par exemple, dans htdocs/clientName/workDivision1/.htaccess:

ErrorDocument 404 /clientName/workDivision1/errors/404.php

etc.

1
MrWhite