.htaccess Einige Kenntnisse

.htaccess Einige Kenntnisse
.htaccess kann eine Vielzahl von Dingen, darunter: Ordner mit einem Kennwort schützen, Benutzer automatisch umleiten, Fehlerseiten anpassen, Ihre Dateierweiterungen ändern, bestimmte Benutzer-IP-Adressen blockieren, nur bestimmte IP-Adressen zulassen, Verzeichnisauflistungen stoppen, andere Dateien als Indexdateien verwenden und mehr …
1. Einleitung Dateiname.htaccess Attribut 644 (RW-R–R–)
htaccess wirkt sich auf alle Unterverzeichnisse unter dem Verzeichnis aus, in dem es sich befindet. Beachten Sie, dass der Großteil des Inhalts in einer Zeile stehen muss. Verwenden Sie keinen Zeilenumbruch, da dies sonst zu Fehlern führt.
2. Fehlerdokumente
Offizielles Dokument: ErrorDocument Directive
ErrorDocument-Codedokument
Beispiel
Fehlerdokument 400 /errors/badrequest.html
Fehlerdokument 404 http://IhreSite/Fehler/nichtgefunden.html
ErrorDocument 401 „Autorisierung erforderlich“
(Beachten Sie, dass alle im folgenden Inhalt vorkommenden Anführungszeichen mit \" maskiert werden müssen.)
Allgemeine HTTP-Statuscodes
Erfolgreiche Clientanfragen
200 OK
201 Erstellt
202 Akzeptiert
203 Nicht verbindliche Informationen
204 Kein Inhalt
205 Inhalt zurücksetzen
206 Teilweiser Inhalt
Clientanforderung umgeleitet
300 Multiple-Choice-Fragen
301 Dauerhaft verschoben
302 Vorübergehend verschoben
303 Siehe Andere
304 Nicht geändert
305 Proxy verwenden
Clientanforderungsfehler
400 Ungültige Anfrage
401 Autorisierung erforderlich
402 Zahlung erforderlich (noch nicht verwendet)
403 Verboten
404 Nicht gefunden
405 Methode nicht zulässig
406 Nicht akzeptabel (Kodierung)
407 Proxy-Authentifizierung erforderlich
408 Anforderung – Zeitüberschreitung
409 Widersprüchliche Anfrage
410 Weg
411 Inhaltslänge erforderlich
412 Vorbedingung fehlgeschlagen
413 Anforderungsentität zu lang
414 Anforderungs-URI zu lang
415 Nicht unterstützter Medientyp
Serverfehler
500 Interner Serverfehler
501 Nicht implementiert
502 Ungültiges Gateway
503 Dienst nicht verfügbar
504 Gateway-Zeitüberschreitung
505 HTTP-Version nicht unterstützt
3. Passwortschutz
Offizielles Dokument: Authentifizierung, Autorisierung und Zugriffskontrolle
Angenommen, die Kennwortdatei ist .htpasswd
AuthUserFile /usr/local/safedir/.htpasswd (hier muss der vollständige Pfadname verwendet werden)
AuthName Passwort eingeben
AuthType Basic
Zwei gängige Überprüfungsmethoden:
Benutzer Windix erforderlich
(Nur der Benutzer Windix kann sich anmelden)
Gültiger Benutzer erforderlich
(Alle legitimen Benutzer können sich anmelden)
Tipp: So generieren Sie eine Kennwortdatei mit dem Befehl htpasswd (in Apache integriert)
Die erste Generation erfordert die Erstellung einer Passwortdatei
htpasswd -c .htpasswd Benutzer1
Fügen Sie später neue Benutzer hinzu
htpasswd .htpasswd Benutzer2
4. SSI über htaccess aktivieren
AddType text/html .shtml
Vom AddHandler-Server analysierte .shtml
Optionen Indizes FollowSymLinks Includes
VerzeichnisIndex index.shtml index.html
5. Benutzer nach IP blockieren
Befehl erlauben, verweigern
verweigern von 123.45.6.7
Verweigerung von 12.34.5. (die gesamte Klasse-C-Adresse)
erlauben von allen
6. Blockieren von Benutzern/Sites nach Referrer Zum Blockieren von Benutzern/Sites nach Referrer ist das Modul mod_rewrite erforderlich. Beispiel 1. Blockieren eines einzelnen Referrers: badsite.com
RewriteEngine ein
# Optionen +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite\.com [NC]
RewriteRule .* – [F]
Beispiel 2. Mehrere Referrer blockieren: badsite1.com, badsite2.com
RewriteEngine ein
# Optionen +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} badsite2\.com
RewriteRule .* – [F]
[NC] – Case-insensite
[F] – 403 Verboten
Beachten Sie, dass der obige Code die Anweisung „Options +FollowSymlinks“ auskommentiert. Wenn auf dem Server im Abschnitt httpd.conf keine FollowSymLinks festgelegt sind, müssen Sie diesen Satz hinzufügen, andernfalls erhalten Sie die Fehlermeldung „500 Internal Server error“.
7. Blockieren von Schadbots und Site-Rippern (auch bekannt als Offline-Browser). Zum Blockieren von Schadbots und Offline-Browsern ist das Modul „mod_rewrite“ erforderlich. Schadbots? Beispielsweise einige Bots, die Spam-E-Mail-Adressen abfangen, und Bots, die sich nicht an robots.txt halten (wie etwa Baidu?)
Sie können basierend auf HTTP_USER_AGENT bestimmt werden
(Aber es gibt noch schamlosere wie „zhongsou.com“, die ihren Agenten auf „Mozilla/4.0 (kompatibel; MSIE 5.5; Windows NT 5.0)“ einstellen. Das ist zu bösartig und wir können nichts dagegen tun.)
RewriteEngine aktiviert
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:[email protected] [ODER]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Custo [ODER]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [ODER]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [ODER]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [ODER]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [ODER]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [ODER]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [ODER]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [ODER]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [ODER]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [ODER]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Weiter, hab‘s verstanden [ODER]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [ODER]
RewriteCond %{HTTP_USER_AGENT} ^HMView [ODER]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC, ODER]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [ODER]
RewriteCond %{HTTP_USER_AGENT} Indy\ Bibliothek [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [ODER]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [ODER]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [ODER]
RewriteCond %{HTTP_USER_AGENT} ^larbin [ODER]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [ODER]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ Tool [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [ODER]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [ODER]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [ODER]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [ODER]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [ODER]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [ODER]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [ODER]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [ODER]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [ODER]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [ODER]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [ODER]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [ODER]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [ODER]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [ODER]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [ODER]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IST [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Suche [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Wget [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Widow [ODER]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [ODER]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* – [F,L]
[F] – 403 Verboten
[L] – Verbindung
8. Ändern Sie Ihre Standardverzeichnisseite
VerzeichnisIndex index.html index.php index.cgi index.pl
9. Weiterleitungen zu einer einzelnen Datei
Weiterleitung /altes_Verzeichnis/alte_Datei.html http://yoursite.com/neues_Verzeichnis/neue_Datei.html
Gesamtes Verzeichnis
Weiterleitung /altes_Verzeichnis http://yoursite.com/neues_Verzeichnis
Wirkung: Wie beim Verschieben des Verzeichnisses
http://yoursite.com/altes_Verzeichnis -> http://yoursite.com/neues_Verzeichnis
http://yoursite.com/altes_Verzeichnis/dir1/test.html -> http://yoursite.com/neues_Verzeichnis/dir1/test.html
Tipp: Lösung für die Umleitung, die bei Verwendung eines Benutzerverzeichnisses nicht funktioniert: Wenn Sie das Standardbenutzerverzeichnis von Apache verwenden, z. B. http://mysite.com/~windix, und Sie zu http://mysite.com/~windix/jump umleiten möchten, werden Sie feststellen, dass die folgende Umleitung nicht funktioniert:
Weiterleitung /Jump http://www.google.com
Der richtige Weg ist, sich zu ändern
Weiterleitung /~windix/jump http://www.google.com
(Quelle: .htaccess-Weiterleitung in „Sites“ leitet nicht weiter: Warum?
)
10. Verhindern Sie die Anzeige der .htaccess-Datei
Befehl erlauben, verweigern
leugnen von allen
11. MIME-Typen hinzufügen
AddType-Anwendung/x-shockwave-flash swf
Tipps: Stellen Sie den Typ auf application/octet-stream ein, um den Download zu beschleunigen
12. Verhindern des Hotlinking von Bildern und anderen Dateitypen Anti-Hotlinking erfordert das Modul mod_rewrite
RewriteEngine ein
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www/\.)?meinedomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ – [F]
Analyse:
Wenn HTTP_REFERER nicht leer ist (die Quelle ist eine andere Site, keine direkte Verbindung) und wenn HTTP_REFERER nicht mit (www.)mydomain.com beginnt (Groß-/Kleinschreibung ignorieren [NC]) (die Quelle ist nicht diese Site)
Gibt den Fehler 403 Forbidden für alle Dateien aus, die mit .gif/.jpg/.js/.css enden [F]
Sie können auch eine Antwort angeben, wie im folgenden Beispiel gezeigt:
Regel neu schreiben \.(gif|jpg)$ [R,L]
[R] – Weiterleitung
[L] – Verbindung
13. Verhindern der Verzeichniseintragung
IndexIgnorieren *
IndexIgnorieren *.jpg *.gif
Tipps:
Verzeichnisliste zulassen: Optionen + Indizes
Verzeichnisliste deaktivieren: Optionen - Indizes
Eingabeaufforderungsinformationen anzeigen: HEAD-Datei, README-Datei

<<:  inmotionhosting Host-Einführung

>>:  ixwebhosting dedizierte IP und gemeinsam genutzte IP-Umschaltung

Artikel empfehlen

3proxy 0.711 modifizierte Version

1. Ändern Sie den letzten Satz des Benutzernamens...

Daring Host aktuell 50% Rabatt

Daring Host ist ein 2010 gegründetes amerikanisch...

[Black Friday] Cloudcone: VPS-Rabatte und Flash-Sales in Los Angeles

Veranstaltungsseite: https://hello.cloudcone.com/...

Tutorial zur Installation von Firefox und Vagex unter CentOS

Früher war es ein Tutorial zum Mounten von Vagex ...

BandwagonHost: Computerraum-Skripte automatisch per API wechseln

Es gibt immer noch Produkte zum Double 11-Sonderp...