Index Apache2

Résolu/Fermé
root - 29 août 2012 à 10:29
 root - 30 août 2012 à 10:18
Bonjour,
Je cherche désespérément à un moyen dans la configuration d'Apache2 d'indiquer un fichier
index.php (par exemple) par défault dans tous les répertoires et sous répertoires de mon serveur.

Je m'explique, dans /var/www/demo/ j'ai un fichier index.php qui est donc accessible depuis http://localhost/demo/index.php j'aimerais que celui ci s'affiche quand je vais dans http://localhost/world/ ainsi que dans tous ces sous répertoires sans pour autant avoir une redirection vers le dossier demo/ !

J'ai énormément de sous dossiers et je ne veux pas avoir à copier cette index.php partout dans chaque sous dossier... Chose que j'ai temporairement du faire, ce qui n'est pas du tout pratique pour une quelconque modification de cette index.


Merci d'avance pour vos réponses.

5 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
29 août 2012 à 13:44
Une suggestion:
Crée un lien symbolique dans les dossiers concernés. Un simple ligne de commande suffira.
Ainsi toute modification de ton fichier cible sera répercutée dans les répertoires. Vérifie dans ta configuration Apache que l'on peut suivre les liens symboliques.
Ou , si tes répertoires sont sur la même partition, crée des liens durs.
1
Directive DirectoryIndex:
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex

Cette directive te permet de choisir un fichier par défaut dans le répertoire si il existe.
Le petit truc c'est que tu spécifié un fichier avec un chemin relatif au début du site. Donc un seul fichier index.php pour tout les répertoires du site.

Exemple:
DirectoryIndex index.php /index.php

Cela va lui faire afficher le index.php du début du site si le index.php du répertoire n'existe pas.

Reste a mettre cette directive dans un <directory> qui match tout les répertoire du site.
1
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 177
29 août 2012 à 11:27
bonjour,
pas comprendre la question , ou je suis nul , l'index.php n'a pas a etre mis dans chaque dossier mais il faut y crrer un menu qui va aller dan sles differents dossier y trouver un autre fichier .
que veux tu faire exactement
apache dans ton cas creer un site en local se qui permet de tester avant de mettre en ligne
a+

0
Pour simplifier je cherche à remplacer l'affichage de l'arborescence par défaut d'Apache par un index.php (peut importe le contenu de ce fichier) afin que celui-ci prenne effet/s'affiche automatiquement dans toute l'arborescence..

Le truc c'est que j'ai un nombre variable de dossiers et je ne compte pas m'amuser à mettre un index dans chaque nouveau dossier oO

Peut être faudrait il se tourner vers des .htaccess non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci @layn35 du coup pour match tous les répertoires du site, <DirectoryMatch "la regex"> suffit ou on peut faire plus simple avec juste les <Directory> ?

J'ai quelques soucis avec mon directorymatch qui me failed le redémarrage d'apache même avec le module core d'activé...
0
http://httpd.apache.org/docs/2.2/mod/core.html#directory

Les balises <Directory> et </Directory> permettent de regrouper un ensemble de directives qui ne s'appliquent qu'au répertoire précisé, à ses sous-répertoires, et aux fichiers situés dans ces sous-répertoires.

Donc un <Directory /> devrait faire l'affaire.
0
Merci beaucoup j'ai finalement réussi, de plus la doc Apache est superbe :)
0