Teadmistebaas Juhendvideod Lihtsad juhised Profitserveri teenusega töötamiseks
põhiline Teadmistebaas Juhendvideod Htaccess-faili seadistamine

Htaccess-faili seadistamine


Selles artiklis uurime SEO täiustamiseks üliolulise .htaccess-faili kasutamise aluspõhimõtteid. See fail tagab lehtede õige indekseerimise otsingumootorite poolt. Õpime, kuidas hallata ümbersuunamisi, konfigureerida turvalisust ja suurendada jõudlust. Lisaks anname näpunäiteid selle faili iseseisvaks konfigureerimiseks.

Miks .htaccess on vajalik?

Htaccess-fail toimib Apache serverites veebiarendajatele omamoodi "kaugjuhtimispuldina". See pakub mugavaid tööriistu erinevate parameetrite reguleerimiseks ja veebisaidi käitumise haldamiseks. Kui otsene juurdepääs serveri peamistele konfiguratsioonifailidele pole saadaval (nagu näiteks virtuaalse hostimise puhul sageli juhtub), muutub .htaccess kasulikuks tööriistaks vajalike muudatuste tegemiseks.

Htaccess asub sageli teie saidi juurkaustas või kaustades, kus on vaja erikonfiguratsiooni. Näiteks kui kasutate WordPressi, saab konfiguratsiooni teha Yoast SEO pistikprogrammi kaudu, mida käsitlesime artiklis Fati robots.txt seadistamine. Muudel juhtudel piisab, kui lähete vajalikku kausta ja muudate olemasolevat .htaccess faili või loote selle, kui seda pole veel loodud.

Htaccess-faili seadistamine

301 Suuna htaccess ümber

301 ümbersuunamist .htaccess-failis saab võrrelda püsiva ümbersuunamisega veebisaidil. See teavitab otsingumootoreid ja brausereid, et leht asub nüüd püsivalt uuel aadressil ning soovitab järjehoidjaid ja indekseerimist värskendada. Sellist ümbersuunamist kasutatakse tavaliselt lehe teisaldamisel või kustutamisel, et säilitada selle asetus otsingutulemustes ja suunata külastajad uude asukohta.

Ümbersuunamiste aktiveerimiseks peate lubama vastava käsu .htaccess-failis:

RewriteEngine on

Pärast seda saate konfigureerida lihtsaima ümbersuunamise vormi:

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

Sarnane ümbersuunamine, kasutades RedirectPermanent direktiiv näeb välja selline:

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

Neid ümbersuunamismeetodeid on kõige lihtsam konfigureerida. Vaatleme konfiguratsiooni, mis kasutab koos mod_rewrite moodul:

<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>

302 ümbersuunamist .htaccess, mis viitab ajutisele ümberpaigutamisele, kohtab palju harvemini. Siin on näide sellisest seadistusest:

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

Direktiiv ErrorDocument

See seade võimaldab teil juhtida seda, mida kasutaja näeb, kui teie saidil ilmnevad HTTP-tõrked. Tavalise veateate asemel saad näidata enda lehte, mis on külastajale informatiivsem ja aitab juhtunust aru saada. Kasutamiseks järgige lihtsalt seda süntaksit:

ErrorDocument <error_code> <URL_page>

Näiteks

ErrorDocument 404 /errors/not_found.html

Tähendab, et kui a 404 ilmneb tõrge, lehekülg aadressil /errors/not_found.html avatakse. Absoluutsed URL-id määratakse sarnaselt:

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

See näide näitab kuva server_error.html lehele http://example.com/errors/ a korral 500 Viga

Saidikataloogile juurdepääsu keelamine

Htaccess-failil on käsk Keela kõik, mis aitab keelata juurdepääsu teatud kaustadele või failidele teie veebiserveris. See võib olla kasulik, kui soovite andmete turvalisuse tagamiseks varjata saidi külastajate eest privaatset teavet või olulisi faile.

Loendi keelamiseks (kõikide saadaolevate kataloogide vaatamiseks) peate lisama rea:

Options -Indexes

Näide konkreetsele kataloogile juurdepääsu blokeerimisest näeb välja järgmine:

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

Samamoodi saate keelata juurdepääsu ühele failile:

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

Või laiendiga failide jaoks:

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

Juurdepääsu blokeerimine IP kaudu

Juurdepääsu blokeerimine IP alusel .htaccess-failis on meetod, mis võimaldab piirata juurdepääsu oma veebisaidile teatud IP-aadresside või nende rühmade jaoks. See võib olla kasulik, kui soovite takistada teatud inimeste või soovimatute robotite juurdepääsu oma saidile või selle konkreetsetele osadele.

Ühe IP-aadressi blokeerimine toimub käsuga:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Mitme IP-aadressi blokeerimine toimub samamoodi, dubleerides "Keeldu alates" rida vajalike aadressidega.

IP-aadresside vahemiku blokeerimiseks:

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

Juurdepääsu lubamiseks ainult kindlatele IP-dele lisage kood:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Juurdepääsu täielikuks keelamiseks kasutage direktiivi Keela kõikja aadresside maski abil blokeerimiseks määrake Keeldu alates 11.22.

Kus 11.22 on IP-aadress mask.

Külastajate blokeerimine kasutajaagendi poolt

Kasutajate blokeerimine kasutajaagendi abil .htaccess-failis on meetod, mille abil saab külastaja kasutatava brauseri teabe põhjal kontrollida, kes pääseb teie veebiserverile juurde. String User-Agent sisaldab andmeid brauseri kohta, mida inimene teie serveriga suhtlemiseks kasutab, ja tänu sellele teabele saate piirata teatud kasutajate juurdepääsu.

Kõige tavalisem viis kasutajaagendi poolt blokeerimiseks on kasutada 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>

Selles näites:

  1. RewriteCond %{HTTP_USER_AGENT} kasutatakse kasutajaagendi stringi kontrollimiseks.
  2. ^Bot1, ^Bot2, ^Bot3 on näited kasutajaagendi stringidest, mida tahame blokeerida. NC modifikaatorid näitavad, et võrdlus ei tohiks olla tõstutundlik.
  3. RewriteRule ^.*$ – [F,L] rakendub päringule, kui mõni RewriteCond tingimus on täidetud. See saadab vastuse 403 keelatud olekukoodiga (F) ja peatab reeglite töötlemise (L).

Vahemälu htaccessis

Vahemälu konfigureerimine .htaccess-faili kaudu aitab teie saiti kiirendada, muutes selle kasutajate jaoks kiiremaks. See toimib järgmiselt: teatud failid, nagu pildid, CSS-stiilid ja JavaScripti skriptid, salvestatakse pärast esimest laadimist kasutaja brauseri vahemällu. Nüüd saab brauser neid faile vahemälust kasutada, selle asemel, et neid iga kord, kui kasutaja lehte külastab, serverist uuesti laadida. See vähendab laadimisaega ja parandab saidi jõudlust.

Kaaluge näidet:

# 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>

Sageli värskendatavate ressursside puhul on aga vaja vahemällu salvestamine keelata:

# 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>

Saidi toimivuse optimeerimine

. mod_deflate ja mod_gzip Apache moodulid aitavad tihendada teavet, mille server kasutajate seadmetesse saadab. See muudab failid väiksemaks, mis omakorda kiirendab lehtede laadimist. Siiski on oluline meeles pidada, et nende moodulite tugi ja konfiguratsioon võivad teie serverist olenevalt erineda.

Näide selle kasutamisest mod_deflate moodul:

<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>

Näide jaoks 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>

Arutasime kõige sagedamini kasutatavaid direktiive. Saate tutvuda kõigi faili võimalustega ametlikud dokumendid.

Kuidas kontrollida .htaccess-faili funktsionaalsust

Kontrollimaks, kas teie .htaccess-fail sellel saidil töötab, tehke järgmist.

  1. Muutke tahtlikult veaga .htaccess-faili. Vastuseks peaks server andma veateate. See meetod näitab, kas faili toiming on serveris üldiselt rakendatud.
  2. Kontrollige konkreetsete tehtud muudatuste funktsionaalsust. Näiteks tehke mõnda parameetrit väike muudatus ja hinnake muudatuste olemasolu.
  3. Kontrollige lehe olekukoodi, kui muudatused on seotud serveri vastusega. Kuidas seda teha, kirjeldasime artiklis varem HTTP veakoodid: täielik serverivigade loend.
  4. Vaadake serveri logisid. Need kuvavad kõik .htaccess-faili toimimisega seotud vead.
  5. Testige läbi võrguteenuste või -tööriistade abil.

Oluline on mõista, et .htaccess-faili funktsionaalsuse kontrollimiseks ei pea te kõiki toiminguid korraga tegema. Piisab, kui valida loendist kõige sobivam meetod ja seda kasutada.

Järeldus

Htaccess-faili konfigureerimine on oluline samm teie Apache serveri optimeerimisel ja kaitsmisel. Oleme uurinud, kuidas see fail aitab ümbersuunamisi hallata, sisu tihendada ja turvalisust tagada. Kui olete õppinud .htaccessiga töötama, saate võimsa tööriista veebisaitide jõudluse ja funktsionaalsuse parandamiseks.

❮ Eelmine artikkel FTP serveri seadistamine
Järgmine artikkel ❯ Kuidas konfigureerida veebiserverit (Apache-PHP-MySQL/MariaDB) Linuxis

Küsige meilt VPS-i kohta

Oleme alati valmis vastama teie küsimustele igal kellaajal päeval või öösel.