Kann ich die Ordner in meinem Stammordner ausblenden? Nur für den Fall, dass meine index.php verschwinden würde, weißt du?Ordner mit .htaccess ausblenden
Könnte ich auch zeigen 404 Fehler nicht gefunden, wenn jemand sie anfordert?
Kann ich die Ordner in meinem Stammordner ausblenden? Nur für den Fall, dass meine index.php verschwinden würde, weißt du?Ordner mit .htaccess ausblenden
Könnte ich auch zeigen 404 Fehler nicht gefunden, wenn jemand sie anfordert?
IndexIgnore *
Das obige würde verhindern, dass alle Dateien aufgelistet werden. Hier fungiert *
als ein Platzhalter. Sie könnten es bei Bedarf durch etwas spezifischeres ersetzen.
Was Sie wollen, ist wahrscheinlich
Options -Indexes
, die nur einen 404-Fehler geben wird, wenn kein Directory Datei gefunden wird.
Ich denke es ist eher ein 403. – Gumbo
Wie duskwuff erwähnt, was Sie brauchen, ist
Options - Indexes
Diese ein 403 verbotenen Fehler auf diesem bestimmten Verzeichnis verursacht. So eine benutzerdefinierte Fehlerseite, um Ihnen
ErrorDocument 403 myErrorPage.html
Hoffnung brauchen diese
Diese Antwort war 5 Stunden zu spät, sollte aber die akzeptierte Antwort sein.Dadurch wird ohne Indexdatei ein Fehler erzeugt, den Sie dann mit dem Standardserver umgehen können. Die akzeptierte Antwort wird einfach die Ordner auf der Seite der Verzeichnisansicht verbergen. Es erzeugt also einen falsch positiven .. Alten Beitrag aber in Top Google Ergebnisse. – Mayhem
Für mich hilft es funktioniert immer mit
<Directory "/var/www/yourfolder"> IndexIgnore * </Directory>
auf die Datei/etc Hinzufügen/apache2/sites-available/Standard
Dies war meine bevorzugte Lösung für das gleiche Problem (dies zeigt einen Zugriff verweigert statt 404):
<files "/path/to/single/file/or/folder">
order allow,deny
deny from all
</files>
Dies gibt Ihnen auch die Möglichkeit, den Zugriff auf bestimmte IP-Adressen zu geben (in diesem Fall Zugang zu leugnen ist, um all)
Die "/ path/to/single/file/oder/Ordner" kann ersetzt werden durch Regex, wenn Sie stattdessen ein Muster verwenden möchten. Andernfalls müssen Sie mehrere Blöcke für jede bestimmte Datei oder jeden Ordner verwenden, für den Sie den Zugriff sperren möchten.
Wenn Sie wirklich einen 404-Fehler für Unterordner (e) zeigen wollen, versuchen Sie Folgendes in /.htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [R=404,L]
Wenn ein Seiendes /folder
oder /subfolder
angefordert wird, die obige Regel es /404
umschreiben wird.
Ich komme um dies durch Hinzufügen einer index.html für alle Ordner ich möchte nicht zugegriffen werden. Die Seite index.html enthält eine einzelne Zeile mit den folgenden header("Location:thepageiwanttoshown.html")
. Auf diese Weise, wenn der Benutzer versehentlich die eingeschränkten Ordner besucht, werden sie im laufenden Betrieb umgeleitet. Ich hoffe es hilft
ersetzen '*' wie? Sagen wir, ich habe 3 Dateien und Ordner 1 Ich möchte, sich verstecken ('file1.jpg, some.pdf, else.html, i-am-a-folder') – Omar
IndexIgnore keinen Zugriff auf bekannte Dateispeicherorte innerhalb des Ordners nicht zulassen dass es schützt. Ein htaccess mit: 'bestellen erlauben, verweigern' ' leugnen von allen' würde einen besseren Job machen. – GTodorov