2017-02-08 9 views
0

Ich habe eine Website, wo das Hauptverzeichnis einige Dateien enthält, ich möchte nicht direkt URLs zugegriffen werden unter Verwendung von wie folgt aus:htaccess - Weiterleitung zur Fehlerseite, wenn der Benutzer direkten Dateizugriff versucht?

http://website.com/somefile1.ext1 
http://website.com/somefile2.ext1 
http://website.com/somefile1.ext2 
http://website.com/somefile2.ext2 

Derzeit downloaden sie, wenn Sie die Urls in einem Browser eingeben. Stattdessen möchte ich sie auf eine Fehlerseite wie folgt umgeleitet werden:

http://website.com/404 

ich diesen Schnipsel gefunden online, aber es funktioniert nicht, es ist auch nicht umleiten:

<Files ~ "\.(ext1)$"> 
    Order allow,deny 
    Deny from all 
</Files> 

Was wäre die Korrekte. Htaccess-Code, um diese Aufgabe zu tun?

Edit:

ich umleiten site.com/script.php usw. mit diesem Code site.com/script:

RewriteEngine On 
# turn on the mod_rewrite engine 
RewriteCond %{REQUEST_FILENAME}.php -f 
# IF the request filename with .php extension is a file which exists 
RewriteCond %{REQUEST_URI} !/$ 
# AND the request is not for a directory 
RewriteRule (.*) $1\.php [L] 
# redirect to the php script with the requested filename 

Antwort

1

es so versuche ich es nicht für jetzt versucht hat, Versuchen

RewriteEngine On 
RewriteCond %{REQUEST_URI} \.ext\d$ 
RewriteRule^404 [R=301] 
+0

Ich weiß meine Htaccess läuft, aber das scheint nicht zu funktionieren. Es lädt immer noch die Dateien herunter. – zeddex

+0

Die 404 ist eine PHP-Datei oder haben Sie andere Regeln, um damit umzugehen, weil oben für mich funktioniert. –

+0

Ich habe meinen Beitrag oben bearbeitet, ich benutze eine Redirect-Funktion, aber es sollte nur für. PHP-Dateien gelten, aber vielleicht ist es mit dem Code zu stören. Sollte aber nicht. – zeddex

1

<FilesMatch "somefile\.ext$"> 
Deny from all 
</FilesMatch> 

Yo Sie müssen die Order-Anweisung nicht verwenden, wenn Sie den Zugriff von allen verweigern möchten.

+0

Ich weiß nicht, ob das funktioniert, aber das Hinzufügen eines 'ErrorDocument 403/404.php' könnte die gewünschte Fehlerseite anzeigen. –

Verwandte Themen