2012-03-30 4 views
1

J'aime la possibilité d'indexer automatiquement un dossier, de sorte que je peux servir un grand nombre de fichiers, sans ajouter de liens à une page tous les temps. Cependant, je n'aime pas la boîte de connexion httpAuth fournie avec .htaccess pour sécuriser un répertoire. De plus, il y a plus de fonctionnalités que je voulais sur mes index. J'ai donc écrit un script PHP pour générer des index comme je veux, pour pouvoir tout contrôler avec PHP, stocker les utilisateurs en SQL, ajouter des liens supplémentaires à mon éditeur de fichiers, et me connecter avec un formulaire web attrayant.Remplacer mod_autoindex avec indexeur PHP dans tous les répertoires sans ajouter un index.php à tous

Le problème est que tout nouveau répertoire a besoin d'un fichier index.php qui inclut le script, ou que je viens d'obtenir des index apache. Ce qui signifie copier un fichier index.php d'une ligne dans chaque répertoire. Je pourrais le générer en utilisant PHP, mais si je travaille avec FTP pour gérer des fichiers qui ne résoudront pas tous les problèmes. Est-il possible de configurer apache pour afficher mon script d'index dans un répertoire qui ne possède pas de fichier d'index? De sorte qu'il agit comme mod_autoindex? Mais avec mon script personnalisé.

Répondre

2

Mettez le index.php dans votre racine, puis utilisez rediriger

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} -d #if directory exists 
RewriteRule . /index.php [L] 

ensuite à l'intérieur de l'utilisation index.php $_SERVER['REQUEST_URI'] pour savoir quel dossier a été demandé, puis utiliser PHP pour afficher ce que vous voulez afficher, par exemple en utilisant opendir, readdir, etc (ne pas oublier de gérer les fichiers '.' et '..' unix)

Questions connexes