2016-08-17 2 views
2

Ich versuche eine .htaccess Datei zu schreiben, um nur den Zugriff auf PDF-Dateien in einem Unterverzeichnis zu erlauben. Ich werde die Datei auf einem Host bereitstellen, den ich nicht kontrolliere, sodass ich keine Änderungen an der Apache-Konfiguration vornehmen kann..htaccess, um nur PDF-Dateien in einem Unterverzeichnis zuzulassen

Ich möchte nur den Zugriff auf PDF-Dateien im Verzeichnis Foo zulassen. Ich versucht habe:

Deny From All 

<FilesMatch ".+\/Foo\/.+\.pdf$"> 
Allow From All 
</FilesMatch> 

Allerdings, wenn ich versuche, example.com/bar/Foo/baz.pdf zuzugreifen, ich bin eine HTTP 403 Forbidden Antwort gegeben.

Wie kann ich den Zugriff auf alles verweigern, außer für PDF-Dateien in einem bestimmten Verzeichnis?

Dank

+0

Möglicherweise dieses Duplikat: [Zugriff auf bestimmte Dateitypen in bestimmten Verzeichnis Deny] (http: // Stackoverflow .com/questions/16108399/deny-access-to-spezifische-datei-types-in-specific-verzeichnis) –

Antwort

1

erstellen diese innerhalb Wurzel .htaccess als erste Regel:

RewriteEngine On 

# prohibit everything except .pdf files  
RewriteRule ^foo/(?!.*\.pdf$) - [F,NC] 
+0

Das würde funktionieren, aber ich würde es vorziehen, es nicht in das Unterverzeichnis zu legen. Wie kann ich den Regex erweitern? Ich habe '! ^. + \/Foo \ /.+ \. Pdf $' ausprobiert, aber es hat nicht für mich funktioniert. – user1024203

+0

ok versuche meine aktualisierte Regel jetzt. – anubhava

+0

Ich denke, ich verstehe es jetzt. Was ich zu bekommen versuchte, war 'RewriteRule!^Foo \/.+ \. Pdf $ - [F, NC]'. Vielen Dank! – user1024203

Verwandte Themen