İnformasiya Bankı Profitserver xidməti ilə işləmək üçün sadə təlimatlar
Əsas İnformasiya Bankı .htaccess faylı konfiqurasiya edilir

.htaccess faylı konfiqurasiya edilir


Bu yazıda biz SEO-nun təkmilləşdirilməsi üçün çox vacib olan .htaccess faylından istifadənin əsas prinsiplərini araşdıracağıq. Bu fayl axtarış motorları tərəfindən səhifələrin düzgün indeksləşdirilməsini təmin edir. İstiqamətləndirmələri necə idarə etməyi, təhlükəsizliyi konfiqurasiya etməyi və performansı artırmağı öyrənəcəyik. Bundan əlavə, biz bu faylı müstəqil olaraq necə konfiqurasiya etmək barədə məsləhətlər verəcəyik.

Niyə .htaccess lazımdır

.htaccess faylı Apache serverlərində veb tərtibatçıları üçün bir növ “uzaqdan idarəetmə” rolunu oynayır. Müxtəlif parametrləri tənzimləmək və veb-saytın davranışını idarə etmək üçün rahat alətlər təklif edir. Serverin əsas konfiqurasiya fayllarına birbaşa giriş mümkün olmadıqda (məsələn, virtual hostinqdə olduğu kimi), .htaccess lazımi dəyişikliklərin edilməsi üçün faydalı alətə çevrilir.

Htaccess tez-tez saytınızın kök qovluğunda və ya xüsusi konfiqurasiya tələb olunan qovluqlarda yerləşir. Məsələn, WordPress-dən istifadə edirsinizsə, konfiqurasiya məqalədə müzakirə etdiyimiz Yoast SEO plagini vasitəsilə edilə bilər. robots.txt konfiqurasiyası. Digər hallarda, tələb olunan qovluğa getmək və mövcud .htaccess faylını redaktə etmək və ya hələ yaradılmayıbsa, onu yaratmaq kifayətdir.

.htaccess Faylının konfiqurasiyası

301 htaccess-i yönləndirin

.htaccess faylındakı 301 yönləndirməsi vebsaytdakı daimi yönləndirməyə bənzədilə bilər. O, axtarış motorlarına və brauzerlərə səhifənin indi daimi olaraq yeni ünvanda yerləşdiyini bildirir və əlfəcinlərin və indeksləşdirmənin yenilənməsini təklif edir. Bu cür yönləndirmə adətən axtarış nəticələrində onun sıralamasını qorumaq və ziyarətçiləri yeni məkana yönləndirmək üçün səhifə köçürüldükdə və ya silindikdə istifadə olunur.

İstiqamətləndirmələri aktivləşdirmək üçün .htaccess faylında müvafiq əmri aktivləşdirməlisiniz:

RewriteEngine on

Bundan sonra, yönləndirmənin ən sadə formasını konfiqurasiya edə bilərsiniz:

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

istifadə edərək oxşar yönləndirmə Yönləndirmə Daimi direktiv belə görünür:

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

Bunlar konfiqurasiya etmək üçün ən asan yönləndirmə üsullarıdır. ilə başqa, daha təkmil yönləndirmə növlərini istifadə edən konfiqurasiyanı nəzərdən keçirək 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>

Müvəqqəti yerdəyişməni göstərən 302 yönləndirmə .htaccess ilə daha az rast gəlinir. Budur belə bir parametrə bir nümunə:

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

Direktiv Səhv Sənədi

Bu parametr saytınızda HTTP xətaları baş verdikdə istifadəçinin nə görəcəyini idarə etməyə imkan verir. Standart səhv mesajı əvəzinə öz səhifənizi göstərə bilərsiniz, bu da ziyarətçi üçün daha çox məlumatlandırıcı olacaq və baş verənləri anlamağa kömək edəcəkdir. İstifadə etmək üçün sadəcə olaraq bu sintaksisə əməl edin:

ErrorDocument <error_code> <URL_page>

Misal üçün,

ErrorDocument 404 /errors/not_found.html

O deməkdir ki, a 404 səhv baş verir, səhifədə /errors/not_found.html açılacaq. Mütləq URL-lər oxşar şəkildə müəyyən edilir:

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

Bu nümunə ekranın göstərilməsini göstərir server_error.html səhifə http://example.com/errors/ halında 500 səhv.

Sayt kataloquna girişin rədd edilməsi

.htaccess faylında əmr var Hamısından imtina edin, bu, veb serverinizdə müəyyən qovluqlara və ya fayllara girişi rədd etməyə kömək edir. Məlumat təhlükəsizliyini təmin etmək üçün şəxsi məlumatı və ya vacib faylları sayt ziyarətçilərindən gizlətmək istəyirsinizsə, bu faydalı ola bilər.

Siyahını deaktiv etmək üçün (bütün mövcud kataloqlara baxmaq) sətri əlavə etməlisiniz:

Options -Indexes

Müəyyən bir qovluğa girişi bloklamaq nümunəsi belə görünür:

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

Eynilə, bir fayla girişi rədd edə bilərsiniz:

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

Və ya genişlənməyə görə bir sıra fayllar üçün:

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

IP ilə girişin bloklanması

.htaccess faylında IP ilə girişin bloklanması xüsusi IP ünvanları və ya onların qrupları üçün vebsaytınıza girişi məhdudlaşdırmağa imkan verən bir üsuldur. Müəyyən insanlar və ya istənməyən botlar üçün saytınıza və ya onun xüsusi hissələrinə girişin qarşısını almaq istəyirsinizsə, bu faydalı ola bilər.

Tək bir IP ünvanının bloklanması əmrlə həyata keçirilir:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Bir neçə IP ünvanının bloklanması eyni şəkildə "" təkrarlanması ilə həyata keçirilir.-dən rədd edin" tələb olunan ünvanlarla sətir.

Bir sıra IP ünvanlarını bloklamaq üçün:

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

Yalnız xüsusi IP-lərə girişə icazə vermək üçün kodu əlavə edin:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Girişin tam rədd edilməsi üçün direktivdən istifadə edin Hamısından imtina edin, və maska ​​ilə ünvanları bloklamaq üçün təyin edin 11.22-dən etibarən rədd edin.

Harada, 11.22 IP ünvanıdır maska.

İstifadəçi-Agent tərəfindən Ziyarətçilərin Bloklanması

.htaccess faylında İstifadəçi-Agent tərəfindən istifadəçilərin bloklanması, ziyarətçinin istifadə etdiyi brauzer haqqında məlumat əsasında veb serverinizə kimin daxil ola biləcəyinə nəzarət etmək üsuludur. İstifadəçi-Agent sətri bir şəxsin serverinizlə əlaqə saxlamaq üçün istifadə etdiyi brauzer haqqında məlumatları ehtiva edir və bu məlumat sayəsində siz müəyyən istifadəçilər üçün girişi məhdudlaşdıra bilərsiniz.

İstifadəçi-Agent tərəfindən bloklanmağın ən ümumi yolu istifadə etməkdir 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>

Bu nümunədə:

  1. RewriteCond %{HTTP_USER_AGENT} İstifadəçi-Agent sətirini yoxlamaq üçün istifadə olunur.
  2. ^Bot1, ^Bot2, ^Bot3 bloklamaq istədiyimiz İstifadəçi-Agent sətirlərinin nümunələridir. NC modifikatorları müqayisənin böyük hərflərə həssas olmadığını göstərir.
  3. RewriteRule ^.*$ - [F,L] RewriteCond şərtlərindən hər hansı biri yerinə yetirildikdə sorğuya tətbiq edilir. O, 403 Qadağan olunmuş status kodu (F) ilə cavab göndərir və emal qaydalarını (L) dayandırır.

htaccess-də keşləmə

.htaccess faylı vasitəsilə keşləşdirməni konfiqurasiya etmək saytınızın istifadəçilər üçün daha sürətli yüklənməsini təmin edərək sürətləndirməyə kömək edir. O, belə işləyir: şəkillər, CSS üslubları və JavaScript skriptləri kimi müəyyən fayllar ilk yükləmədən sonra istifadəçinin brauzer keşində saxlanılır. İndi brauzer istifadəçi hər dəfə səhifəyə daxil olanda onları serverdən yenidən yükləmək əvəzinə, bu faylları keşdən istifadə edə bilər. Bu, yükləmə müddətini azaldır və saytın işini yaxşılaşdırır.

Məsələni nəzərdən keçirək:

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

Digər tərəfdən tez-tez yenilənən resurslar üçün keşləməni söndürmək lazımdır:

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

Sayt performansının optimallaşdırılması

The mod_deflatemod_gzip Apache-dəki modullar serverin istifadəçilərin cihazlarına göndərdiyi məlumatları sıxmağa kömək edir. Bu, faylların ölçüsünü kiçik edir, bu da öz növbəsində səhifənin yüklənməsini sürətləndirir. Bununla belə, yadda saxlamaq vacibdir ki, bu modulların dəstəyi və konfiqurasiyası serverinizdən asılı olaraq dəyişə bilər.

istifadə nümunəsi 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>

üçün misal 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>

Ən çox istifadə olunan direktivləri müzakirə etdik. Siz faylın bütün imkanları ilə tanış ola bilərsiniz rəsmi sənədlər.

.htaccess faylının funksionallığını necə yoxlamaq olar

.htaccess faylınızın saytda işlədiyini yoxlamaq üçün aşağıdakı addımları yerinə yetirə bilərsiniz:

  1. .htaccess faylını səhvlə qəsdən dəyişdirin. Cavab olaraq server xəta verməlidir. Bu üsul faylın əməliyyatının ümumiyyətlə serverdə tətbiq edilib-edilmədiyini göstərir.
  2. Etdiyiniz xüsusi dəyişikliklərin funksionallığını yoxlayın. Məsələn, parametrlərdən birinə kiçik bir düzəliş edin və dəyişikliklərin mövcudluğunu qiymətləndirin.
  3. Dəyişikliklər serverin cavabı ilə bağlıdırsa, səhifənin status kodunu yoxlayın. Bunu necə etmək olar, əvvəllər məqalədə təsvir etdik HTTP xəta kodları: server xətalarının tam siyahısı.
  4. Server qeydlərinə baxın. Onlar .htaccess faylının işləməsi ilə bağlı bütün səhvləri göstərirlər.
  5. Onlayn xidmətlərdən və ya alətlərdən istifadə edərək sınaq keçirin.

Anlamaq vacibdir ki, .htaccess faylının funksionallığını yoxlamaq üçün bütün addımları bir anda yerinə yetirmək lazım deyil. Siyahıdan ən uyğun metodu seçmək və ondan istifadə etmək kifayətdir.

Nəticə

.htaccess faylının konfiqurasiyası Apache serverinizin optimallaşdırılması və qorunmasında mühüm addımdır. Bu faylın yönləndirmələri idarə etməyə, məzmunu sıxışdırmağa və təhlükəsizliyi təmin etməyə necə kömək etdiyini araşdırdıq. .htaccess ilə işləməyi mənimsədikdən sonra veb-saytların performansını və funksionallığını yaxşılaşdırmaq üçün güclü alət əldə edirsiniz.

❮ Əvvəlki məqalə FTP serverinin qurulması
Növbəti məqalə ❯ Linux-da veb serveri (Apache-PHP-MySQL/MariaDB) necə konfiqurasiya etmək olar

Bizdən VPS haqqında soruşun

Günün və ya gecənin istənilən vaxtında suallarınızı cavablandırmağa hər zaman hazırıq.