Root auf index.htm weiterleiten

D

D@nger

Hallo,
so, jetzt bin ich mal wieder auf ein Problem gestoßen, und zwar sieht so meine htaccess-Datei aus die im Root-Verzeichnis liegt:
RewriteEngine on
RewriteBase /
RewriteRule RK/(.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]
RewriteRule (.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]

Wenn ich z.B. http://localhost/schuhe.htm eingebe wird der Browser zur richtigen Seite weitergeleitet. So, mir ist aber jetzt aufgefallen, dass wenn ich einfach nur http://localhost eingebe, ich im Dir-Listing lande, also alle Ordner und Dateien werden aufgelistet, das liegt daran, dass im Root keine index-Datei vorhanden ist. Gebe ich aber http://localhost/index.htm ein funktioniert es, as liegt ja an der htaccess-Regel. So, habt ihr vielleicht eine Idee wie ich das bewerkstelligen kann, dass ich sofort richtig weitergeleitet werde?
Also z.B. sowas wie:
RewriteEngine on
RewriteBase /
RewriteRule RK/(.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]
RewriteRule (.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]
RewriteRule / index.htm [PT,QSA]

Das funktioniert aber nicht. Vielen Dank.
 
Das hat nichts mit mod_rewrite zu tun, sondern mit der Einstellung fuer den Directory-Index.
Dort ist wahrscheinlich nur index.html angeben aber nicht auch index.htm
 
Hallo,
doch, das Directory-Index ist für alle Verzeichnisse auf index.htm, index.html, index.php und index.php3 aktiviert. Das Problem ist aber, dass im Root keine index.htm vorhanden ist, sondern diese wird durch modrewrite erst "erstellt", von der dynamischen Seite aus, wie oben im Code zu sehen. Vielleicht könntest du mir nochmal helfen?

Edit: Diese Seite: http://phpcms.de/ hat das gleiche CMS wie ich. Wenn man die Seite besucht wird man auch auf http://phpcms.de/index.de.html weitergeleitet".
 
Zuletzt bearbeitet von einem Moderator:
Hallo, ok die ganze Arbeit war umsonst Ich kriege es nicht hin die index.htm anzeigen zu lassen.
 
hallo, danke, aber so sieht meine Datei nun aus:
Code:
RewriteEngine   on
RewriteBase     /
RewriteRule     ^[^/]+/$   /$0index.htm   [L,R=301]
#RewriteRule    RK/(.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]
RewriteRule     (.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]

Wenn ich jetzt den Cache lösche und localhost aufrufe wird nur das Indexlisting angezeigt. Also, der Ordner mit der Datei index.htm liegt mit dem Namen RK im Root. So, was kann man sonst noch machen?
 
Zurück