Knowledgebase Einfach Instruktioune fir mam Profitserver Service ze schaffen
Main Knowledgebase .htaccess Datei konfiguréieren

.htaccess Datei konfiguréieren


An dësem Artikel wäerte mir d'fundamental Prinzipien vun der Benotzung vun der .htaccess-Datei entdecken, wat entscheedend ass fir SEO ze verbesseren. Dëse Fichier garantéiert eng korrekt Indexéierung vu Säiten duerch Sichmotoren. Mir léiere wéi Dir Viruleedungen verwalten, Sécherheet konfiguréieren an d'Performance erhéijen. Zousätzlech gi mir Tipps wéi Dir dës Datei onofhängeg konfiguréiert.

Firwat .htaccess ass néideg

D'.htaccess-Datei wierkt als eng Zort "Fernsteuerung" fir Webentwéckler op Apache-Server. Et bitt praktesch Tools fir verschidde Parameteren unzepassen an d'Behuele vun enger Websäit ze managen. Wann den direkten Zougang zu den Haaptkonfiguratiounsdateien vum Server net erreechbar ass (wéi zum Beispill bei virtuellen Hosting dacks de Fall ass), gëtt .htaccess e nëtzlecht Tool fir néideg Ännerungen ze maachen.

Htaccess ass dacks am Root-Ordner vun Ärem Site oder an deenen Ordner wou speziell Konfiguratioun néideg ass. Zum Beispill, wann Dir WordPress benotzt, kann d'Konfiguratioun duerch de Yoast SEO Plugin gemaach ginn, dee mir am Artikel iwwer diskutéiert hunn Konfiguréieren robots.txt. An anere Fäll ass et genuch fir an den erfuerderlechen Dossier ze goen an déi existent .htaccess Datei z'änneren, oder se erstellen wann se nach net erstallt gouf.

Konfiguratioun vun der .htaccess Datei

301 Viruleedung htaccess

Eng 301 Viruleedung an der .htaccess Datei kann mat enger permanenter Viruleedung op enger Websäit vergläicht ginn. Et informéiert Sichmotoren a Browser datt d'Säit elo permanent op enger neier Adress läit a proposéiert d'Aktualiséierung vu Lieszeechen an Indexéierung. Esou Viruleedung gëtt normalerweis benotzt wann eng Säit geréckelt oder geläscht gëtt fir säi Ranking an de Sichresultater ze erhaalen an d'Besucher op déi nei Plaz ze redirectéieren.

Fir Viruleedungen ze aktivéieren, musst Dir de entspriechende Kommando an der .htaccess Datei aktivéieren:

RewriteEngine on

Duerno kënnt Dir déi einfachst Form vu Viruleedung konfiguréieren:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>

Eng ähnlech Viruleedung mat der Redirect Permanent Direktiv gesäit esou aus:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>

Dëst sinn déi einfachst Viruleedungsmethoden fir ze konfiguréieren. Loosst eis eng Konfiguratioun betruechten déi aner benotzt, méi fortgeschratt Aarte vu Viruleedungen mat der mod_rewrite Modul:

<IfModule mod_rewrite.c>
RewriteEngine On
    
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]

# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
    
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>

Eng 302 Viruleedung .htaccess, déi eng temporär Verlagerung ugeet, gëtt vill manner dacks begéint. Hei ass e Beispill vun esou engem Astellung:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>

Direktiv ErrorDocument

Dës Astellung erlaabt Iech ze kontrolléieren wat de Benotzer gesäit wann HTTP-Feeler op Ärem Site optrieden. Amplaz vun der Standardfehlermeldung kënnt Dir Är eege Säit weisen, déi méi informativ fir de Besucher ass an hëlleft hinnen ze verstoen wat geschitt ass. Follegt einfach dës Syntax fir ze benotzen:

ErrorDocument <error_code> <URL_page>

Zum Beispill,

ErrorDocument 404 /errors/not_found.html

Heescht, datt wann eng 404 Feeler geschitt, der Säit um /errors/not_found.html wäert opgemaach ginn. Absolut URLe ginn ähnlech spezifizéiert:

ErrorDocument 500 http://example.com/errors/server_error.html

Dëst Beispill weist den Affichage vun der server_error.html Säit op http://example.com/errors/ am Fall vun engem 500 Fehler.

Verweigeren Zougang zu engem Site Verzeechnes

D'.htaccess-Datei huet de Kommando Verleegnen vun all, wat hëlleft Zougang zu bestëmmten Ordner oder Dateien op Ärem Webserver ze refuséieren. Dëst kann nëtzlech sinn wann Dir privat Informatioun oder wichteg Dateie vu Sitebesucher verstoppe wëllt fir d'Datesécherheet ze garantéieren.

Fir d'Lëscht auszeschalten (all verfügbare Verzeichnisser ze gesinn), musst Dir d'Linn derbäisetzen:

Options -Indexes

E Beispill fir den Zougang zu engem spezifesche Verzeechnes ze blockéieren gesäit esou aus:

<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>

Ähnlech kënnt Dir den Zougang zu enger eenzeger Datei verweigeren:

<Files "file.php">
Order Deny,Allow
Deny from all
</Files>

Oder fir eng Rei vu Fichieren duerch Extensioun:

<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>

Blockéieren Zougang duerch IP

D'Blockéierung vum Zougang duerch IP an der .htaccess Datei ass eng Method déi Iech erlaabt den Zougang zu Ärer Websäit fir spezifesch IP Adressen oder hir Gruppen ze beschränken. Dëst kann nëtzlech sinn wann Dir Zougang zu Ärem Site oder seng spezifesch Deeler fir verschidde Leit oder ongewollt Bots verhënnere wëllt.

D'Blockéierung vun enger eenzeger IP Adress gëtt mam Kommando gemaach:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Verschidde IP Adressen blockéieren gëtt ähnlech gemaach andeems Dir de "Verleegnen vun" Linn mat den erfuerderlechen Adressen.

Fir eng Rei vun IP Adressen ze blockéieren:

Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24

Fir Zougang nëmme fir spezifesch IPen z'erméiglechen, add de Code:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Fir eng komplett Verweigerung vum Zougang, benotzt d'Direktiv Verleegnen vun all, a fir Adressen duerch Mask ze blockéieren, spezifizéiert Oflehnen ab 11.22.

Wou, 11.22 ass d'IP Adress Mask.

Blockéiert Besucher vum User-Agent

Blockéiert Benotzer vum User-Agent an der .htaccess-Datei ass eng Method fir ze kontrolléieren wien op Äre Webserver zougräife kann op Basis vun Informatioun iwwer de Browser deen de Besucher benotzt. De User-Agent String enthält Daten iwwer de Browser, déi eng Persoun benotzt fir mat Ärem Server ze interagéieren, an dank dëser Informatioun kënnt Dir den Zougang fir verschidde Benotzer beschränken.

De stäerkste gemeinsam Manéier vum User-Agent ze blockéieren ass ze benotzen mod_rewrite:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

An dësem Beispill:

  1. RewriteCond %{HTTP_USER_AGENT} gëtt benotzt fir de User-Agent String ze kontrolléieren.
  2. ^Bot1, ^Bot2, ^Bot3 si Beispiller vu User-Agent Saiten déi mir blockéiere wëllen. D'NC Modifikateure weisen datt de Verglach sollt kaal-onsensitiv sinn.
  3. RewriteRule ^.*$ - [F,L] gëllt fir d'Ufro wann eng vun de RewriteCond Konditioune erfëllt sinn. Et schéckt eng Äntwert mam 403 Forbidden Status Code (F) a stoppt d'Veraarbechtungsregelen (L).

Caching an htaccess

Caching konfiguréieren duerch d'.htaccess-Datei hëlleft Är Site ze beschleunegen andeems se méi séier fir d'Benotzer lued. Et funktionnéiert esou: verschidde Dateien, wéi Biller, CSS Stiler a JavaScript Scripten, ginn no der éischter Lued am Browser Cache vum Benotzer gespäichert. Elo kann de Browser dës Dateien aus dem Cache benotzen, anstatt se all Kéier vum Server ze lueden wann de Benotzer eng Säit besicht. Dëst reduzéiert d'Laaschtzäit a verbessert d'Performance vum Site.

Betruecht e Beispill:

# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

Fir Ressourcen déi dacks aktualiséiert ginn, op der anerer Säit, ass et néideg de Cache auszeschalten:

# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>

Optimiséieren Site Leeschtung

d' mod_deflate an mod_gzip Moduler an Apache hëllefen d'Informatioun ze kompriméieren déi de Server un d'Apparater vun de Benotzer schéckt. Dëst mécht d'Dateie méi kleng a Gréisst, wat d'Säit Luede beschleunegt. Wéi och ëmmer, et ass wichteg ze erënneren datt d'Ënnerstëtzung an d'Konfiguratioun vun dëse Moduler ofhängeg vun Ärem Server variéiere kënnen.

Beispill vun benotzen der mod_deflate Modul:

<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

Beispill fir mod_gzip:

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>

Mir hunn déi meescht benotzt Direktiven diskutéiert. Dir kënnt Iech mat all de Fäegkeeten vun der Datei am offiziell Dokumentatioun.

Wéi kontrolléiert d'Funktionalitéit vun der .htaccess Datei

Fir ze kontrolléieren ob Är .htaccess Datei um Site funktionnéiert, kënnt Dir déi folgend Schrëtt maachen:

  1. Änneren d'.htaccess-Datei bewosst mat engem Feeler. Als Äntwert soll de Server e Feeler ginn. Dës Method weist ob d'Operatioun vun der Datei allgemeng um Server applizéiert gëtt.
  2. Kontrolléiert d'Funktionalitéit vu spezifesche Ännerungen déi Dir gemaach hutt. Zum Beispill, eng kleng Upassung un ee vun de Parameteren maachen an d'Präsenz vun Ännerungen bewäerten.
  3. Kontrolléiert de Statuscode vun der Säit wann d'Ännerunge mat der Äntwert vum Server verbonne sinn. Wéi dëst ze maachen, hu mir virdru am Artikel beschriwwen HTTP Feeler Coden: eng komplett Lëscht vu Serverfehler.
  4. Kuckt d'Serverprotokoller. Si weisen all Feeler am Zesummenhang mat der Operatioun vun der .htaccess Datei.
  5. Exercice Testen mat online Servicer oder Tools.

Et ass wichteg ze verstoen datt fir d'Funktionalitéit vun der .htaccess-Datei ze kontrolléieren, musst Dir net all Schrëtt gläichzäiteg ausféieren. Et ass genuch fir déi gëeegent Method aus der Lëscht ze wielen an se ze benotzen.

Conclusioun

D'Konfiguratioun vun der .htaccess-Datei ass e wichtege Schrëtt fir Äert Apache-Server ze optimiséieren an ze schützen. Mir hunn erfuerscht wéi dës Datei hëlleft Viruleedungen ze managen, Inhalt ze kompriméieren a Sécherheet ze garantéieren. Sidd Dir beherrscht mat .htaccess ze schaffen, kritt Dir e mächtegt Tool fir d'Performance an d'Funktionalitéit vun de Websäiten ze verbesseren.

❮ Virdrun Artikel FTP Server Setup
Nächsten Artikel ❯ Wéi konfiguréiert e Webserver (Apache-PHP-MySQL/MariaDB) op Linux

Frot eis iwwer VPS

Mir sinn ëmmer prett Är Froen zu all Moment vum Dag oder Nuecht ze beäntweren.