2016-05-26 2 views
0

Hier ist ein Beispiel für meinen Verzeichnisbaum:Wie kann ich alle Dateien in einem Verzeichnis mit Ausnahme von 1 Datei in einem Unterverzeichnis blockieren?

private-folder/ 
├── .htaccess 
├── foo 
│   ├── secret-codes.json 
│   └── secret-ruby.rb 
└── bar 
    ├── snafu 
    │   ├── proxy.php 
    │   ├── client.php 
    │   └── testdata.xml 
    ├── config-file.php 
    ├── secret-access.php 
    ├── PUBLIC-ACCESS-FILE.php 
    └── top-secret.php 

Ich möchte alle Dateien mit Ausnahme der PUBLIC-ACCESS-FILE.php

Hier ist mein .htaccess markierte Datei versteckt werden:

Order deny,allow 
Deny from all 

<Files "/bar/PUBLIC-ACCESS-FILE.php"> 
    Allow from all 
</Files> 

Dies ist nicht Arbeiten wie die Datei immer noch zeigt 403. Gibt es eine Möglichkeit, das alles in einer Datei zu machen? Was ist der beste Weg, dies einzurichten?

Antwort

1

Sie könnten mod_rewrite mit zwei Regeln verwenden. Der erste erlaubt PUBLIC-ACCESS-FILE.php und die zweite Regel verbirgt alles andere

RewriteRule ^bar/PUBLIC-ACCESS-FILE.php$ - [L] 
RewriteRule^- [R=404] 
Verwandte Themen