Bibliotēka Vienkāršas instrukcijas darbam ar Profitserver pakalpojumu
galvenais Bibliotēka Notiek .htaccess faila konfigurēšana

Notiek .htaccess faila konfigurēšana


Šajā rakstā mēs izpētīsim .htaccess faila lietošanas pamatprincipus, kas ir ļoti svarīgi SEO uzlabošanai. Šis fails nodrošina pareizu lapu indeksēšanu meklētājprogrammās. Mēs uzzināsim, kā pārvaldīt novirzīšanu, konfigurēt drošību un uzlabot veiktspēju. Turklāt mēs sniegsim padomus, kā šo failu konfigurēt neatkarīgi.

Kāpēc ir nepieciešams .htaccess

Fails .htaccess darbojas kā sava veida "tālvadības pults" tīmekļa izstrādātājiem Apache serveros. Tas piedāvā ērtus rīkus dažādu parametru pielāgošanai un vietnes uzvedības pārvaldībai. Ja tieša piekļuve servera galvenajiem konfigurācijas failiem nav pieejama (kā tas bieži notiek, piemēram, ar virtuālo hostingu), .htaccess kļūst par noderīgu rīku nepieciešamo izmaiņu veikšanai.

Htaccess bieži atrodas jūsu vietnes saknes mapē vai tajās mapēs, kurās nepieciešama īpaša konfigurācija. Piemēram, ja izmantojat WordPress, konfigurāciju var veikt, izmantojot Yoast SEO spraudni, par kuru mēs runājām rakstā par Notiek faila robots.txt konfigurēšana. Citos gadījumos pietiek aiziet uz vajadzīgo mapi un rediģēt esošo .htaccess failu vai izveidot to, ja tas vēl nav izveidots.

.htaccess faila konfigurēšana

301 Novirzīt htaccess

301. novirzīšanu .htaccess failā var pielīdzināt pastāvīgai novirzīšanai vietnē. Tas informē meklētājprogrammas un pārlūkprogrammas, ka lapa tagad pastāvīgi atrodas jaunā adresē, un iesaka atjaunināt grāmatzīmes un indeksēt. Šāda novirzīšana parasti tiek izmantota, kad lapa tiek pārvietota vai dzēsta, lai saglabātu tās rangu meklēšanas rezultātos un novirzītu apmeklētājus uz jauno atrašanās vietu.

Lai aktivizētu novirzīšanu, .htaccess failā ir jāiespējo atbilstošā komanda:

RewriteEngine on

Pēc tam varat konfigurēt vienkāršāko novirzīšanas veidu:

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

Līdzīga novirzīšana, izmantojot RedirectPermanent direktīva izskatās šādi:

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

Šīs ir visvieglāk konfigurējamās novirzīšanas metodes. Apskatīsim konfigurāciju, kurā tiek izmantoti citi, uzlaboti novirzīšanas veidi ar mod_rewrite modulis:

<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. novirzīšanas .htaccess, kas norāda uz pagaidu pārvietošanu, tiek konstatēts daudz retāk. Tālāk ir sniegts šāda iestatījuma piemērs.

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

Direktīvu ErrorDocument

Šis iestatījums ļauj kontrolēt, ko lietotājs redz, kad jūsu vietnē rodas HTTP kļūdas. Standarta kļūdas ziņojuma vietā varat parādīt savu lapu, kas apmeklētājam būs informatīvāka un palīdzēs saprast notikušo. Lai izmantotu, vienkārši ievērojiet šo sintaksi:

ErrorDocument <error_code> <URL_page>

Piemēram,

ErrorDocument 404 /errors/not_found.html

Tas nozīmē, ka tad, kad a 404 rodas kļūda, lapa adresē /errors/not_found.html tiks atvērts. Absolūtie URL tiek norādīti līdzīgi:

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

Šis piemērs norāda uz displeju server_error.html Lapai http://example.com/errors/ a gadījumā 500 Kļūda

Piekļuves liegšana vietņu katalogam

.htaccess failā ir komanda Noliegt no visiem, kas palīdz liegt piekļuvi noteiktām mapēm vai failiem jūsu tīmekļa serverī. Tas var būt noderīgi, ja vēlaties paslēpt privātu informāciju vai svarīgus failus no vietnes apmeklētājiem, lai nodrošinātu datu drošību.

Lai atspējotu sarakstu (skatīt visus pieejamos direktorijus), jums jāpievieno rinda:

Options -Indexes

Piekļuves konkrētam direktorijam bloķēšanas piemērs izskatās šādi:

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

Tāpat varat liegt piekļuvi vienam failam:

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

Vai vairākiem failiem pēc paplašinājuma:

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

Piekļuves bloķēšana pēc IP

Piekļuves bloķēšana pēc IP .htaccess failā ir metode, kas ļauj ierobežot piekļuvi savai vietnei noteiktām IP adresēm vai to grupām. Tas var būt noderīgi, ja vēlaties neļaut konkrētiem cilvēkiem vai nevēlamiem robotiem piekļūt savai vietnei vai tās atsevišķām daļām.

Vienas IP adreses bloķēšana tiek veikta ar komandu:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Vairāku IP adrešu bloķēšana tiek veikta līdzīgi, dublējot "Noliegt no" rinda ar nepieciešamajām adresēm.

Lai bloķētu IP adrešu diapazonu:

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

Lai atļautu piekļuvi tikai noteiktiem IP, pievienojiet kodu:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Lai pilnībā liegtu piekļuvi, izmantojiet direktīvu Noliegt no visiem, un, lai bloķētu adreses, izmantojot masku, norādiet Noliegt no 11.22.

Kur 11.22 ir IP adrese maska.

Apmeklētāju bloķēšana, izmantojot lietotāja aģentu

Lietotāju bloķēšana, izmantojot lietotāja aģentu .htaccess failā, ir metode, kā kontrolēt, kurš var piekļūt jūsu tīmekļa serverim, pamatojoties uz informāciju par apmeklētāja izmantoto pārlūkprogrammu. Lietotāja aģenta virkne satur datus par pārlūkprogrammu, ko persona izmanto, lai mijiedarbotos ar jūsu serveri, un, pateicoties šai informācijai, jūs varat ierobežot piekļuvi noteiktiem lietotājiem.

Visizplatītākais veids, kā bloķēt lietotāja aģentu, ir izmantot 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>

Šajā piemērā:

  1. RewriteCond %{HTTP_USER_AGENT} tiek izmantots, lai pārbaudītu lietotāja aģenta virkni.
  2. ^Bot1, ^Bot2, ^Bot3 ir lietotāja aģenta virkņu piemēri, kuras vēlamies bloķēt. NC modifikatori norāda, ka salīdzinājumam nav jābūt reģistrjutīgam.
  3. RewriteRule ^.*$ — [F,L] attiecas uz pieprasījumu, ja ir izpildīts kāds no RewriteCond nosacījumiem. Tas nosūta atbildi ar 403 aizliegtā statusa kodu (F) un aptur kārtulu apstrādi (L).

Kešatmiņa htaccess

Kešatmiņas konfigurēšana, izmantojot .htaccess failu, palīdz paātrināt vietnes ielādi. Tas darbojas šādi: daži faili, piemēram, attēli, CSS stili un JavaScript skripti, pēc pirmās ielādes tiek saglabāti lietotāja pārlūkprogrammas kešatmiņā. Tagad pārlūkprogramma var izmantot šos failus no kešatmiņas, nevis atkārtoti ielādēt tos no servera katru reizi, kad lietotājs apmeklē lapu. Tas samazina ielādes laiku un uzlabo vietnes veiktspēju.

Apsveriet piemēru:

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

No otras puses, resursiem, kas tiek bieži atjaunināti, ir jāatspējo kešatmiņa:

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

Vietnes veiktspējas optimizēšana

The mod_deflate un mod_gzip Apache moduļi palīdz saspiest informāciju, ko serveris nosūta uz lietotāju ierīcēm. Tas padara failus mazāku izmēru, kas savukārt paātrina lapu ielādi. Tomēr ir svarīgi atcerēties, ka šo moduļu atbalsts un konfigurācija var atšķirties atkarībā no jūsu servera.

Piemērs, kā izmantot mod_deflate modulis:

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

Piemērs priekš 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>

Mēs apspriedām visbiežāk izmantotās direktīvas. Jūs varat iepazīties ar visām faila iespējām oficiāls dokuments.

Kā pārbaudīt .htaccess faila funkcionalitāti

Lai pārbaudītu, vai jūsu .htaccess fails darbojas vietnē, varat veikt šādas darbības:

  1. Apzināti mainiet .htaccess failu ar kļūdu. Atbildot uz to, serverim jāsniedz kļūda. Šī metode parāda, vai faila darbība parasti tiek lietota serverī.
  2. Pārbaudiet konkrētu veikto izmaiņu funkcionalitāti. Piemēram, veiciet nelielu korekciju kādā no parametriem un novērtējiet izmaiņu esamību.
  3. Pārbaudiet lapas statusa kodu, ja izmaiņas ir saistītas ar servera atbildi. Kā to izdarīt, mēs iepriekš aprakstījām rakstā HTTP kļūdu kodi: pilns servera kļūdu saraksts.
  4. Skatiet servera žurnālus. Tie parāda visas kļūdas, kas saistītas ar .htaccess faila darbību.
  5. Veiciet testēšanu, izmantojot tiešsaistes pakalpojumus vai rīkus.

Ir svarīgi saprast, ka, lai pārbaudītu .htaccess faila funkcionalitāti, visas darbības nav jāveic vienlaikus. Pietiek no saraksta izvēlēties vispiemērotāko metodi un to izmantot.

Secinājumi

Faila .htaccess konfigurēšana ir svarīgs solis Apache servera optimizēšanā un aizsardzībā. Mēs esam izpētījuši, kā šis fails palīdz pārvaldīt novirzīšanu, saspiest saturu un nodrošināt drošību. Apgūstot darbu ar .htaccess, jūs iegūsit jaudīgu rīku vietņu veiktspējas un funkcionalitātes uzlabošanai.

❮ Iepriekšējais raksts FTP servera iestatīšana
Nākamais raksts ❯ Kā konfigurēt tīmekļa serveri (Apache-PHP-MySQL/MariaDB) operētājsistēmā Linux

Jautājiet mums par VPS

Mēs vienmēr esam gatavi atbildēt uz jūsu jautājumiem jebkurā diennakts laikā.