2012-03-30 2 views
1

Ich mag die Fähigkeit, einen Ordner automatisch zu indizieren, so dass ich eine große Anzahl von Dateien bedienen kann, ohne Links zu einer Seite alle hinzuzufügen Zeit. Ich mag jedoch nicht die httpAuth-Login-Box, die mit .htaccess kommt, um ein Verzeichnis zu sichern. Außerdem gibt es mehr Funktionen, die ich auf meinen Indizes haben wollte. Also habe ich ein PHP-Skript geschrieben, um Indizes so zu generieren, wie ich es möchte, so dass ich alles mit PHP steuern, Benutzer in SQL speichern, zusätzliche Links zu meinem Dateieditor hinzufügen und mich mit einem nett aussehenden Webformular einloggen kann.Ersetzen Sie mod_autoindex mit PHP Indexer in allen Verzeichnissen, ohne eine index.php zu allen hinzuzufügen

Das Problem ist jedes neue Verzeichnis benötigt eine index.php-Datei, die das Skript enthält, oder ich bekomme nur Apache-Indizes. Das bedeutet, dass Sie eine einzeilige index.php-Datei in jedes Verzeichnis kopieren müssen. Ich könnte es mit PHP erzeugen, aber wenn ich mit FTP arbeite, um Dateien zu verwalten, die nicht alle Probleme lösen. Gibt es eine Möglichkeit, Apache zu konfigurieren, um mein Indexskript in einem Verzeichnis anzuzeigen, das keine eigenen Indexdateien hat? So dass es genau wie mod_autoindex funktioniert? Aber mit meinem benutzerdefinierten Skript.

Antwort

2

Setzen Sie die index.php in Ihrem Root, dann umleiten verwenden

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

Dann innen index.php Verwendung $_SERVER['REQUEST_URI'], um herauszufinden, in welchem ​​Ordner angefordert wurde, dann PHP verwenden, um anzuzeigen, was Sie wollen Anzeige, zum Beispiel mit opendir, readdir, etc (vergessen Sie nicht, die '.' und '..' Unix-Dateien zu behandeln)

Verwandte Themen