.htaccess ist eine einfache Textdatei, mit der Sie steuern können, wie Ihr Webserver Anfragen verarbeitet. Ursprünglich wurde sie für die Verwaltung des Zugriffs auf Verzeichnisse entwickelt, dient heute aber auch vielen anderen Zwecken.
Dieser Leitfaden ist kein tiefer Einblick in .htaccess sondern eine praktische Einführung mit einer Sammlung nützlicher Code-Schnipsel. Während .htaccess Obwohl leistungsstark, heißt das nicht, dass Sie es für alles verwenden sollten. Wenn Sie wissen, wann und wie Sie es einsetzen, können Sie die Sicherheit, Leistung und Funktionalität Ihrer Website verbessern.
Was ist .htaccess?
Das .htaccess Datei, kurz für „Hypertext Access“, ist eine Konfigurationsdatei, die hauptsächlich auf Apache Server. Benutzer können damit Zugriffsberechtigungen steuern, Verzeichnisse mit einem Kennwort schützen, Weiterleitungen einrichten, Fehlerseiten anpassen und bestimmte IP-Adressen blockieren.
In Kombination mit einer .htpasswd-Datei ermöglicht es eine granulare Verzeichniszugriffskontrolle für mehrere Benutzer. Viele Hosting-Anbieter unterstützen .htaccess, aber es ist nicht universell – einige Webserver, wie Nginx, verwenden andere Methoden.
Wo finden Sie Ihre .htaccess Datei?
Standardmäßig ist die .htaccess Die Datei ist im Dateimanager von cPanel und anderen Hosting-Kontrollfeldern ausgeblendet. Sie können sie anzeigen, indem Sie in Ihren Dateimanager-Einstellungen die Option „Versteckte Dateien anzeigen“ aktivieren.
Wenn Sie die Datei nicht finden können, keine Panik – möglicherweise existiert sie noch nicht. In den meisten Fällen befindet sie sich im Stammverzeichnis Ihrer Website und heißt normalerweise public_html oder www. Wenn Sie mehrere Websites unter demselben Hosting-Konto verwalten, hat jede Website möglicherweise ihre eigene .htaccess Datei im jeweiligen Ordner.
Die meisten Systemdateien, die mit einem Punkt (.) beginnen, sind versteckt. Wenn Ihr .htaccess Datei ist nicht sichtbar. Überprüfen Sie Ihre Hosting-Einstellungen oder erstellen Sie manuell eine in einem Texteditor.
.htaccess Spickzettel und Codebeispiele
Während .htaccess kann viel, die Kenntnis der richtigen Befehle ist entscheidend. Um die Arbeit zu vereinfachen, haben wir einen Spickzettel mit den am häufigsten verwendeten zusammengestellt .htaccess Regeln. Ob Sie schlechte Bots blockieren müssen, zwingen HTTPS, Fehlerseiten anpassen oder SEO verbessern, unten finden Sie gebrauchsfertige Codeausschnitte.
Kopieren Sie sie einfach, fügen Sie sie ein und passen Sie sie Ihren Bedürfnissen an. Los geht‘s!
Hinweis: Bitte überprüfen Sie alle Regeln vor der Anwendung. Wir übernehmen keine Verantwortung für eventuell auftretende Probleme – die Anwendung erfolgt auf eigene Gefahr. Die meisten Regeln erfordern außerdem die RewriteEngine On Richtlinie in Ihrem .htaccess Datei, damit sie richtig funktioniert.
Umschreib- und Umleitungsregeln
Alle Anfragen mit einem bedienen PHP Datei mit .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php [NC,L,QSA]
WordPress .htaccess für Permalinks mit .htaccess
(Dies ist die einzige Regel in diesem Abschnitt, die die Regel „RewriteEngine on“ enthält.)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Erzwinge www mit .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC]
Erzwingen Sie www auf allgemeine Weise mit .htaccess
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Erzwinge Nicht-WWW mit .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Erzwingen Sie Nicht-WWW auf generische Weise mit .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
Zwingen HTTPS und .htaccess
Verwenden Sie diese Option, um nicht HTTPS Anfragen an a HTTPS Anfrage. Wenn Sie beispielsweise zu https://example.com/ gehen, werden Sie zu https://example.com weitergeleitet.
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Zwingen HTTPS Hinter einem Proxy mit .htaccess
Nützlich, wenn Sie vor Ihrem Server einen Proxy haben, der die TLS-Terminierung durchführt.
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Erzwingen eines abschließenden Schrägstrichs mit .htaccess
Verwenden Sie die folgenden .htaccess Regel zum Weiterleiten aller URLs auf dieselbe URL (aber mit einem abschließenden Schrägstrich) für alle Anfragen, die nicht mit einem abschließenden Schrägstrich enden. Beispielsweise Weiterleitung von https://example.com/Ihre-Seite zu https://example.com/Ihre-Seite/
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
Entfernen Sie den abschließenden Schrägstrich mit .htaccess
Verwenden Sie dies, um alle abschließenden Schrägstriche zu entfernen (es erfolgt eine 301-Weiterleitung zur URL ohne abschließenden Schrägstrich).
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
Leiten Sie eine einzelne Seite um mit .htaccess
Leiten Sie eine einzelne URL an einen neuen Speicherort um
Redirect 301 /oldpage.html https://www.yoursite.com/newpage.html
Redirect 301 /oldpage2.html https://www.yoursite.com/folder/
Alias für ein einzelnes Verzeichnis mit .htaccess
RewriteEngine On
RewriteRule ^source-directory/(.*) target-directory/$1
Aliaspfade zum Skript mit .htaccess
RewriteEngine On
RewriteRule ^$ index.fcgi/ [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
Dieses Beispiel hat eine index.fcgi Datei in einem Verzeichnis, und alle Anfragen innerhalb dieses Verzeichnisses, die einen Dateinamen/Verzeichnis nicht auflösen können, werden an die index.fcgi Skript. Es ist gut, wenn Sie wollen baz.foo/some/cool/path zu erledigen durch baz.foo/index.fcgi (das auch Anfragen unterstützt an baz.foo) unter Beibehaltung baz.foo/css/style.css und dergleichen.
Leiten Sie eine ganze Site um mit .htaccess
Verwenden Sie Folgendes .htaccess Regel zum Umleiten einer gesamten Site an einen neuen Standort/eine neue Domäne
Redirect 301 / https://newsite.com/
Auf diese Weise bleiben die Links intakt. Das ist www.oldsite.com/some/crazy/link.html wird werden www.newsite.com/some/crazy/link.htmlDies ist äußerst hilfreich, wenn Sie eine Site lediglich auf eine neue Domäne „verschieben“.
Alias „Clean“ URLs mit .htaccess
Mit diesem Snippet können Sie „saubere URLs“ verwenden – solche ohne PHP Erweiterung, zB example.com/users statt example.com/users.php.
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [NC,L]
Sicherheitsregeln
Den gesamten Zugriff verweigern mit .htaccess
Wenn Sie verhindern möchten, dass Apache überhaupt Dateien bereitstellt, verwenden Sie Folgendes.
Dadurch wird der Zugriff auf Ihre Website blockiert. Wenn Sie den Zugriff verweigern, die Website aber dennoch selbst einsehen möchten, lesen Sie bitte die folgende Regel:
Deny from all
Deny All Access Except Yours (Nur bestimmte IPs zulassen) mit .htaccess
Verwenden Sie dies, um nur bestimmten IP-Adressen den Zugriff auf Ihre Website zu erlauben.
# Require all denied
# Require ip xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx ist Ihre IP. Ersetzen Sie die letzten drei Ziffern beispielsweise durch 0/12, wird ein IP-Bereich innerhalb desselben Netzwerks angegeben. So sparen Sie sich die Mühe, alle zulässigen IPs einzeln aufzulisten.
Das „Gegenteil“ dieser Regel finden Sie in der nächsten Regel!
Blockieren Sie die IP-Adresse mit .htaccess
Dadurch wird der Zugriff auf alle IP-Adressen außer den aufgeführten ermöglicht. Sie können dies verwenden, um allen Zugriff außer den IP-Adressen von Spammern zu erlauben.
Ersetzen Sie xxx.xxx.xxx.xxx und xxx.xxx.xxx.xxy durch die IP-Adressen, die Sie blockieren möchten.
Apache 2.4
# Require all granted
# Require not ip xxx.xxx.xxx.xxx
# Require not ip xxx.xxx.xxx.xxy
Zugriff nur aus dem LAN zulassen mit .htaccess
order deny,allow
deny from all
allow from 192.168.0.0/24
Verweigern Sie den Zugriff auf bestimmte Benutzeragenten (Bots) mit .htaccess
Verwenden Sie diese .htaccess Regel zum Blockieren/Verbieten bestimmter Benutzeragenten
RewriteCond %{HTTP_USER_AGENT} ^User\ Agent\ 1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^Another\ Bot\ You\ Want\ To\ Block [OR]
RewriteCond %{HTTP_USER_AGENT} ^Another\ UA
RewriteRule ^.* - [F,L]
Verweigern Sie den Zugriff auf versteckte Dateien und Verzeichnisse mit .htaccess
Versteckte Dateien und Verzeichnisse (deren Namen mit einem Punkt beginnen .) sollten die meiste Zeit, wenn nicht sogar die ganze Zeit, gesichert sein. Zum Beispiel: .htaccess, .htpasswd, .git, .hg.
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
Alternativ können Sie einfach einen Not Found Fehler, der dem Angreifer keine Ahnung gibt:
RedirectMatch 404 /\..*$
Zugriff auf bestimmte Dateien verweigern mit .htaccess
Verwenden Sie dies, um den Zugriff auf bestimmte Dateien zu blockieren oder zu verweigern
<files your-file-name.txt>
order allow,deny
deny from all
</files>
Zugriff auf Backup- und Quelldateien verweigern mit .htaccess
Diese Dateien können von einigen Text-/HTML-Editoren (wie Vi/Vim) hinterlassen werden und stellen ein großes Sicherheitsrisiko dar, wenn jeder darauf zugreifen kann.
<FilesMatch "(\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|swp)|~)$">
## Apache 2.2
Order allow,deny
Deny from all
Satisfy All
## Apache 2.4
# Require all denied
</FilesMatch>
Deaktivieren Sie das Durchsuchen von Verzeichnissen mit .htaccess
Options All -Indexes
Aktivieren Sie Verzeichniseinträge mit .htaccess
Options All +Indexes
Deaktivieren Sie die Auflistung bestimmter Dateitypen mit .htaccess
Verwenden Sie diese Option, um bestimmte Dateitypen von der Auflistung auszuschließen in Apache Verzeichnisliste. Sie können dies verwenden, um die Anzeige von PDF-Dateien oder Videodateien zu verhindern.
IndexIgnore *.zip *.mp4 *.pdf
Deaktivieren Sie Image Hotlinking mit .htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Leiten Sie Hotlinker um und zeigen Sie ein anderes Bild mit .htaccess
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?your-website.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ https://www.your-website.com/do-not-hotlink-our-content.jpg [R,L]
Den Zugriff von bestimmten Referrern verweigern mit .htaccess
Verwenden Sie diese Regel, um den Zugriff auf Anfragen zu blockieren, die einen Referrer aus einer bestimmten Domäne enthalten.
RewriteCond %{HTTP_REFERER} block-this-referer\.com [NC,OR]
RewriteCond %{HTTP_REFERER} and-block-traffic-that-this-site-sends\.com [NC]
RewriteRule .* - [F]
Schützen Sie ein Verzeichnis mit einem Kennwort .htaccess
Zuerst müssen Sie irgendwo im System eine .htpasswd-Datei erstellen. Führen Sie den folgenden Befehl in der Kommandozeile aus:
htpasswd -c /home/hidden/directory/here/.htpasswd the_username
Anschließend können Sie es zur Authentifizierung verwenden. In Ihrem .htaccess Für die Datei benötigen Sie beispielsweise den folgenden Code. Stellen Sie jedoch sicher, dass die AuthUserFile der Dateipfad zur soeben erstellten .htpasswd-Datei ist. Bewahren Sie die .htpasswd-Datei in einem Verzeichnis auf, das nicht über das Internet zugänglich ist. Legen Sie sie daher nicht in Ihr Verzeichnis /public_html/ oder /www/.
AuthType Basic
AuthName "Password Protected Dir Title"
AuthUserFile /home/hidden/directory/here/.htpasswd
Require valid-user
Schützen Sie eine oder mehrere Dateien mit einem Kennwort .htaccess
AuthName "Password Protected Directory Title"
AuthType Basic
AuthUserFile /home/hidden/directory/here/.htpasswd
<Files "/a-private-file.txt">
Require valid-user
</Files>
<FilesMatch ^((one|two|three)-rings?\.o)$>
Require valid-user
</FilesMatch>
Leistungsregeln
Komprimieren Sie Textdateien mit .htaccess
<IfModule mod_deflate.c>
# Force compression for mangled headers.
# https://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Compress all output labeled with one of the following MIME-types
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
# as `AddOutputFilterByType` is still in the core directives).
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/x-web-app-manifest+json \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
</IfModule>
Setzen Sie Expires Header mit .htaccess
Expires-Header teilt dem Browser mit, ob er eine bestimmte Datei vom Server anfordern oder einfach aus dem Cache abrufen soll. Es empfiehlt sich, die Expires-Header für statische Inhalte auf einen weit in der Zukunft liegenden Wert zu setzen.
Wenn Sie die Versionierung nicht mit dateinamenbasiertem Cache-Busting steuern, sollten Sie die Cache-Zeit für Ressourcen wie CSS und JS auf etwa eine Woche reduzieren.
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 year"
# Data interchange
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# Favicon (cannot be renamed!)
ExpiresByType image/x-icon "access plus 1 week"
# HTML components (HTCs)
ExpiresByType text/x-component "access plus 1 month"
# HTML
ExpiresByType text/html "access plus 0 seconds"
# JavaScript
ExpiresByType application/javascript "access plus 1 year"
# Manifest files
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Media
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# Web feeds
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
# Web fonts
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
</IfModule>
Schalten Sie eTags aus mit .htaccess
Durch das Entfernen des ETag-Headers verhindern Sie, dass Caches und Browser Dateien validieren können, sodass sie gezwungen sind, sich auf Ihren Cache-Control- und Expires-Header zu verlassen.
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
Begrenzen Sie die Upload-Dateigröße mit .htaccess
Geben Sie die Dateigröße in Bytes ein. Der folgende Code begrenzt sie auf 1 MB.
LimitRequestBody 1048576
Verschiedene Regeln
Servervariablen für mod_rewrite mit .htaccess
%{API_VERSION}
%{DOCUMENT_ROOT}
%{HTTP_ACCEPT}
%{HTTP_COOKIE}
%{HTTP_FORWARDED}
%{HTTP_HOST}
%{HTTP_PROXY_CONNECTION}
%{HTTP_REFERER}
%{HTTP_USER_AGENT}
%{HTTPS}
%{IS_SUBREQ}
%{REQUEST_FILENAME}
%{REQUEST_URI}
%{SERVER_ADDR}
%{SERVER_ADMIN}
%{SERVER_NAME}
%{SERVER_PORT}
%{SERVER_PROTOCOL}
%{SERVER_SOFTWARE}
%{THE_REQUEST}
Stelle den PHP Variablen mit .htaccess
php_value <key> <val>
Beispielsweise:
php_value upload_max_filesize 50M
php_value max_execution_time 240
Benutzerdefinierte Fehlerseiten mit .htaccess
ErrorDocument 500 "Houston, we have a problem."
ErrorDocument 401 https://error.yourdomain.com/mordor.html
ErrorDocument 404 /errors/halflife3.html
Leiten Sie Benutzer während der Aktualisierung auf eine Wartungsseite um mit .htaccess
Dadurch werden Benutzer auf eine Wartungsseite umgeleitet, erhalten aber Zugriff auf Ihre IP-Adresse. Ändern Sie 555.555.555.555 in Ihre IP-Adresse und YourMaintenancePageFilenameOrFullUrlUrl.html in Ihre Fehlerseite (oder eine vollständige URL in einer anderen Domain).
ErrorDocument 403 YourMaintenancePageFilenameOrFullUrlUrl.html
Order deny,allow
Deny from all
Allow from 555.555.555.555
Herunterladen erzwingen mit .htaccess
Manchmal möchten Sie den Browser zwingen, Inhalte herunterzuladen, anstatt sie anzuzeigen. Der folgende Codeausschnitt hilft Ihnen dabei.
<Files *.md>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
Deaktivieren Sie die Anzeige von Serverinformationen (Serversignatur) mit .htaccess
Obwohl viele Leute dies für sinnlos halten (vor allem im Hinblick auf die Sicherheit), verwenden Sie Folgendes, wenn Sie verhindern möchten, dass Ihr Server Serverinformationen (das Server-Betriebssystem usw.) preisgibt:
ServerSignature Off
Download verhindern mit .htaccess
Manchmal möchten Sie den Browser zwingen, Inhalte anzuzeigen, anstatt sie herunterzuladen. Der folgende Codeausschnitt hilft Ihnen dabei.
<FilesMatch "\.(tex|log|aux)$">
Header set Content-Type text/plain
</FilesMatch>
Erlaube Cross-Domain-Schriftarten mit .htaccess
CDN-served Webfonts funktionieren aufgrund von CROS möglicherweise nicht in Firefox oder IE. Der folgende Codeausschnitt von alrra sollte dies ermöglichen.
<IfModule mod_headers.c>
<FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
Automatische UTF-8-Kodierung mit .htaccess
haben Apache Um Ihre Inhalte automatisch in UTF-8 zu kodieren, verwenden Sie den folgenden Code. Sie können UTF-8 bei Bedarf auch durch einen anderen Zeichensatz ersetzen:
# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8
# Force UTF-8 for a number of file formats
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
Stellen Sie die Server-Zeitzone (auf UTC oder eine andere Zeitzone) mit ein .htaccess
SetEnv TZ UTC
Hier finden Sie eine Liste der Zeitzonen. So stellen Sie die Zeitzone von Los Angeles ein:
SetEnv TZ America/Los_Angeles
Wechseln Sie zu einem anderen PHP Ausführung mit .htaccess
Wenn Sie auf einem Shared Host sind, gibt es wahrscheinlich mehr als eine Version von PHP installiert, und manchmal möchten Sie eine bestimmte Version für Ihre Website. Zum Beispiel erfordert PHP >= 5.4. Der folgende Codeausschnitt sollte die PHP Version für Sie.
AddHandler application/x-httpd-php55 .php
Alternativ können Sie AddType verwenden
AddType application/x-httpd-php55 .php
Deaktivieren der Internet Explorer-Kompatibilitätsansicht
Die Kompatibilitätsansicht im Internet Explorer kann die Darstellung einiger Websites beeinträchtigen. Der folgende Codeausschnitt sollte den Internet Explorer zwingen, die Edge-Ansicht zu verwenden. Rendering Engine und deaktivieren Sie die Kompatibilitätsansicht.
<IfModule mod_headers.c>
BrowserMatch MSIE is-msie
Header set X-UA-Compatible IE=edge env=is-msie
</IfModule>
Ausführen PHP mit einer anderen Dateierweiterung mit .htaccess
Der folgende Code führt Dateien mit der Endung .ext mit PHP aus:
AddType application/x-httpd-php .ext
WebP-Bilder automatisch bereitstellen, wenn sie vorhanden sind
Wenn WebP-Bilder unterstützt werden und ein Bild mit der Erweiterung .webp und demselben Namen an derselben Stelle wie das bereitzustellende JPG/PNG-Bild gefunden wird, wird stattdessen das WebP-Bild bereitgestellt.
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
Das Einrichten eines Hostings kann verwirrend sein. Deshalb haben wir HostScore Setup-Hilfe, ein Service, der für Sie erledigt wird, damit Ihr Hosting richtig konfiguriert wird.
Wir helfen bei SSL Installation, DNS- und Nameserver-Setup, WordPress Installation oder Migration sowie Sicherheitsoptimierung. Einmalige Gebühr. Mit 100 % Geld-zurück-Garantie.
Unsere Dienstleistungen entdeckenFazit
Das .htaccess Datei ist ein mächtiges Werkzeug, aber es ist wichtig, es mit Bedacht einzusetzen. Auch wenn es verlockend sein mag, zusätzliche Regeln für schnelle Lösungen hinzuzufügen, denken Sie daran, dass .htaccess ist keine primäre Konfigurationsdatei.
Jedes Mal, wenn ein Server auf eine .htaccess Datei muss sie gelesen und ausgeführt werden, wobei die Hauptkonfigurationseinstellungen überschrieben werden. Dieser Prozess verbraucht Ressourcen und kann Ihre Website verlangsamen, insbesondere bei übermäßiger Nutzung. Wenden Sie Konfigurationen nach Möglichkeit direkt auf Serverebene an (z. B. in Apache's Hauptkonfigurationsdatei) für eine bessere Leistung.
Durch die Nutzung .htaccess effizient und gepaart mit einem gut optimierter Hosting-Plan – Sie können die Sicherheit, Leistung und Skalierbarkeit Ihrer Website verbessern
Häufig gestellte Fragen
Sollte ich es benutzen .htaccess?
Im globalen Sinne ist .htaccess Datei kann viel Komfort bieten. Dies geht jedoch möglicherweise mit hohen Kosten für Serverressourcen einher. Verlassen Sie sich nach Möglichkeit auf die Hauptserverkonfiguration und nicht auf die .htaccess Datei.
Woher weiß ich, ob meine? .htaccess funktioniert?
Der einfachste Weg, um sicherzustellen, dass Ihre .htaccess Um sicherzustellen, dass die Datei funktioniert, müssen Sie die URL des Verzeichnisses aufrufen, in dem Sie sie abgelegt haben. Wenn sie nicht funktioniert, wird wahrscheinlich ein interner Serverfehler „500“ angezeigt.
Kann ich mehrere .htaccess Dateien?
.htaccess Dateien können technisch gesehen in jedem Verzeichnis abgelegt werden, das Sie konfigurieren möchten. Wenn Sie mehrere Websites betreiben, kann jedes Home-Verzeichnis eine eigene Datei haben – und in jedem Unterverzeichnis darunter eine.
Was ist die Umschreibregel in htaccess?
Umschreiben ist ein Apache Modul, mit dem Sie URL-Anfragen umschreiben können. Es nimmt einfach eine eingehende Anfrage entgegen und leitet sie an eine von Ihnen angegebene Anfrage weiter, die stattdessen ihren Platz einnehmen soll.