Question

Ce que je cherche à faire est de prendre toutes les demandes dans un répertoire et, si le fichier existe, de l’envoyer. Sinon, envoyez-le à partir du répertoire parent (en supposant qu'il existe là-bas). Les fichiers sont volumineux et il peut y en avoir beaucoup, et les sous-répertoires changeront fréquemment. Les liens avec les systèmes de fichiers ne sont donc pas un excellent moyen de gestion. Existe-t-il un moyen de configuration Apache? par exemple

/path/file0
/path/file1
/path/sub1/fileA
/path/sub1/fileB
/path/sub1/fileC
/path/sub2/fileA
/path/sub2/fileB
/path/sub2/fileC

Ainsi, si une demande arrive pour / chemin / sub1 / fichierB , ils obtiennent / chemin / sous1 / fichierB (cas normal). Si une demande arrive pour / chemin / sub1 / fichier0 , ils obtiennent / chemin / fichier0 (cas particulier).

Ou peut-être qu'il existe un moyen en PHP, si Apache pouvait rediriger toutes les demandes d'un dossier vers un fichier php spécifique qui vérifie si le fichier est présent et s'il ne vérifie pas un dossier?

Merci.

Était-ce utile?

La solution

Vous pouvez utiliser mod_rewrite pour le faire:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^path/[^/]+/([^/]+)$ path/$1 [L]

Cette règle réécrira une requête / chemin / toto / barre à / chemin / barre uniquement si / chemin / < code> foo / barre n'est pas un fichier normal.

Autres conseils

Oui, PHP peut rediriger vers un répertoire parent. / p>

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