Die .htaccess-Datei ist eine verteilte Konfigurationsdatei, mit der der Apache Konfigurationsänderungen pro Verzeichnis handhabt.
WordPress verwendet diese Datei, um zu manipulieren, wie der Apache Dateien aus seinem Stammverzeichnis und dessen Unterverzeichnissen bereitstellt. Vor allem modifiziert WP diese Datei, um mit hübschen Permalinks umgehen zu können.
Diese Seite kann verwendet werden, um eine beschädigte .htaccess-Datei wiederherzustellen (z.B. ein fehlerhaftes Plugin).
Basic WP # Basic WP
# BEGIN WordPressRewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php # END WordPress
Top
Multisite # Multisite
WordPress 3.5 und höher # WordPress 3.5 und höher
Wenn Sie Multisite auf WordPress 3.5 oder höher aktiviert haben, verwenden Sie eine dieser Möglichkeiten.
Beispiel für Unterordner
RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(+/)?(wp-(content|admin|includes).*) $2 RewriteRule ^(+/)?(.*\.php)$ $2 RewriteRule . index.php
Beispiel für Subdomains
RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^wp-admin$ wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(wp-(content|admin|includes).*) $1 RewriteRule ^(.*\.php)$ $1 RewriteRule . index.php
Top
WordPress 3.4 und niedriger # WordPress 3.4 und niedriger
Wenn Sie ursprünglich WordPress mit 3.4 oder älter installiert und Multisite aktiviert haben, dann müssen Sie eine der folgenden Möglichkeiten nutzen:
Beispiel für Unterordner
WordPress 3.0 bis 3.4.2
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^(+/)?files/(.+) wp-includes/ms-files.php?file=$2 # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^+/(wp-(content|admin|includes).*) $1 RewriteRule ^+/(.*\.php)$ $1 RewriteRule . index.php # END WordPress
SubDomain Beispiel
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule . index.php # END WordPress
Top
Allgemeine Beispiele Beispiele
Top
Optionen # Optionen
Alle Optionen, denen ein + vorangestellt ist, werden zu den aktuell gültigen Optionen hinzugefügt, und alle Optionen mit einem vorangestellten – werden aus den aktuell gültigen Optionen entfernt.
Mögliche Werte für die Direktive Options sind eine beliebige Kombination aus:
Keine
Alle Optionen sind ausgeschaltet.
Alle
Alle Optionen außer MultiViews. Dies ist die Standardeinstellung.
ExecCGI
Die Ausführung von CGI-Skripten mit mod_cgi ist erlaubt.
FollowSymLinks
Der Server wird symbolischen Links in diesem Verzeichnis folgen.
Includes
Serverseitige Includes, die von mod_include bereitgestellt werden, sind erlaubt.
IncludesNOEXEC
Serverseitige Includes sind erlaubt, aber die #exec cmd und #exec cgi sind deaktiviert.
Indizes
URL-Maps auf ein Verzeichnis und kein DirectoryIndex, eine formatierte Auflistung des Verzeichnisses.
MultiViews
Inhaltsverhandelte „MultiViews“ sind mit mod_negotiation erlaubt.
SymLinksIfOwnerMatch
Nur symbolischen Links folgen, bei denen das Ziel der gleichen Benutzerkennung gehört wie der Link.
Damit werden alle Optionen deaktiviert und nur noch FollowSymLinks aktiviert, was für mod_rewrite notwendig ist.
Options NoneOptions FollowSymLinks
Top
DirectoryIndex # DirectoryIndex
DirectoryIndex legt die Datei fest, die der Apache liefert, wenn ein Verzeichnis angefordert wird.
Es können mehrere URLs angegeben werden, in diesem Fall liefert der Server die erste, die er findet.
DirectoryIndex index.php index.html /index.php
Top
DefaultLanguage # DefaultLanguage
DefaultLanguage bewirkt, dass alle Dateien, die nicht bereits ein spezielles Sprach-Tag zugeordnet haben, dieses verwenden.
DefaultLanguage en
Top
Default Charset # Default Charset
Setzen Sie die Standard-Zeichenkodierung, die im HTTP-Header gesendet wird. Siehe: Einstellen der Zeichensatzinformationen in .htaccess
AddDefaultCharset UTF-8
Set Charset für bestimmte Dateien
AddType 'text/html; charset=UTF-8' .html
Set für bestimmte Dateien
AddCharset UTF-8 .html
Top
ServerSignature # ServerSignature
Die ServerSignature-Direktive erlaubt die Konfiguration einer abschließenden Fußzeile unter Server-generierten Dokumenten. Fügen Sie optional eine Zeile mit der Serverversion und dem virtuellen Hostnamen zu Server-generierten Seiten hinzu (interne Fehlerdokumente, FTP-Verzeichnisauflistungen, mod_status und mod_info-Ausgaben usw., aber nicht CGI-generierte Dokumente oder benutzerdefinierte Fehlerdokumente).
On
fügt eine Zeile mit der Server-Versionsnummer und dem ServerName des bedienenden virtuellen Hosts hinzu
Off
unterdrückt die Fußzeile
erzeugt einen „mailto:“ Verweis auf den ServerAdmin des referenzierten Dokuments
SetEnv SERVER_ADMIN [email protected] Email
Top
Herunterladen von Dateien erzwingen # Herunterladen von Dateien erzwingen
Das Folgende bewirkt, dass alle Anfragen nach Dateien, die auf die angegebenen Erweiterungen enden, nicht im Browser angezeigt werden, sondern einen „Speichern unter“-Dialog erzwingen, damit der Client herunterladen kann.
AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4
Top
HTTP-Komprimierung # HTTP Compression
Die AddOutputFilter-Direktive ordnet die Dateierweiterung den Filtern zu, die Antworten vom Server verarbeiten, bevor sie an den Client gesendet werden. Dies gilt zusätzlich zu allen Filtern, die an anderer Stelle definiert sind, einschließlich SetOutputFilter und AddOutputFilterByType. Diese Zuordnung wird mit allen bereits bestehenden Zuordnungen zusammengeführt und überschreibt alle Zuordnungen, die bereits für dieselbe Erweiterung existieren.
Siehe auch: https://developers.google.com/speed/docs/insights/EnableCompression
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascriptBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0 no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Kompression für bestimmte Dateien erzwingen
SetOutputFilter DEFLATE
Top
Benutzerdefinierte HTTP-Header senden # Benutzerdefinierte HTTP-Header senden
Mit der Header-Direktive können Sie HTTP-Header für jede Anfrage senden, oder nur für bestimmte Dateien. Sie können die HTTP-Header einer Website mit Firebug, Chrome Dev Tools, Wireshark oder einem Online-Tool ansehen.
Header set X-Pingback "http://www.askapache.com/xmlrpc.php"Header set Content-Language "en-US"
Top
Unset HTTP Headers # Unset HTTP Headers
Dies wird HTTP-Header aufheben, wobei immer versucht wird, sie zu entfernen.
Header unset PragmaHeader always unset WP-Super-CacheHeader always unset X-Pingback
Top
Password Protect Login # Password Protect Login
Dies ist sehr nützlich für den Schutz der wp-login.php
Datei. Sie können diesen htpasswd-Generator verwenden.
Basic Authentication
AuthType BasicAuthName "Password Protected"AuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All
Digest Authentication
AuthType DigestAuthName "Password Protected"AuthDigestDomain /wp-login.php https://www.askapache.com/wp-login.phpAuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All
Top
Require Specific IP # Require Specific IP
Dies ist eine Möglichkeit, nur bestimmten IP-Adressen den Zugriff zu erlauben.
ErrorDocument 401 defaultErrorDocument 403 defaultOrder deny,allowDeny from allAllow from 198.101.159.98 localhost
Top
Protect Sensitive Files # Protect Sensitive Files
Dies verweigert allen Webzugriff auf Ihre wp-config-Datei, error_logs, php.ini und htaccess/htpasswds.
Order deny,allowDeny from all
Top
Require SSL # Require SSL
Dies erzwingt SSL, und erfordert den exakten Hostnamen, sonst wird auf die SSL-Version umgeleitet. Nützlich in einer /wp-admin/.htaccess
Datei.
SSLOptions +StrictRequireSSLRequireSSLSSLRequire %{HTTP_HOST} eq "www.wordpress.com"ErrorDocument 403 https://www.wordpress.com
Top