cantharis: htaccess DirectoryIndex Problem

Hi,

ich wollte eine .htaccess Datei anlegen, die nur Zugriff auf meine index.php Datei gewährt und alle anderen Aufrufe blockt.

  
  
Deny from all  
  
<FilesMatch "index.php">  
Allow from all  
</FilesMatch>  
  
  
DirectoryIndex index.php  
  
  
Options -Indexes  
  

Leider habe ich das Problem das wenn ich "Deny from all" reinnehme, dass dann die index.php Datei nicht mehr als Startseite aufgerufen wird.
Wie kann ich das ändern?

  1. Leider habe ich das Problem das wenn ich "Deny from all" reinnehme, dass dann die index.php Datei nicht mehr als Startseite aufgerufen wird.

    Wenn du <domain>/index.php schreibst, wird diese angezeigt, nehme ich an? Denn Deine htaccess tut, was sie soll. Bei fehlendem "index.php" in der url greift nicht die Regel.

    Wie kann ich das ändern?

    Du muss daher alle Anfragen ohne script auf index.php umleiten, damit der string wieder auftaucht.

    RewriteEngine on
    RewriteBase /

    erzwinge index.php

    RewriteRule ^$ index.php [L]

    Deny from all
    <FilesMatch "index.php">
    Allow from all
    </FilesMatch>
    DirectoryIndex index.php
    Options -Indexes

    Zwei Nachteile:

    • jede eingebundene Datei, ob css, favicon oder js wird geblockt.
    • index.php bleibt unschön immer in der Adressleiste stehen.

    Möchtest Du andere Lösungen in Betracht ziehen?

    Cheers,
    Baba