Знања Једноставна упутства за рад са услугом Профитсервер
главни Знања Конфигурисање .хтаццесс датотеке

Конфигурисање .хтаццесс датотеке


У овом чланку ћемо истражити основне принципе коришћења .хтаццесс датотеке, која је кључна за побољшање СЕО-а. Ова датотека осигурава правилно индексирање страница од стране претраживача. Научићемо како да управљамо преусмеравањем, конфигуришемо безбедност и побољшамо перформансе. Поред тога, даћемо савете како да самостално конфигуришете ову датотеку.

Зашто је потребан .хтаццесс

Датотека .хтаццесс делује као нека врста „даљинске контроле“ за веб програмере на Апацхе серверима. Нуди практичне алате за подешавање различитих параметара и управљање понашањем веб странице. Када директан приступ главним конфигурационим датотекама сервера није доступан (као што је често случај са виртуелним хостингом, на пример), .хтаццесс постаје користан алат за уношење неопходних промена.

Хтаццесс се често налази у основној фасцикли вашег сајта или у оним фасциклама где је потребна посебна конфигурација. На пример, ако користите ВордПресс, конфигурација се може обавити преко Иоаст СЕО додатка, о чему смо говорили у чланку о Конфигурисање роботс.ткт. У другим случајевима, довољно је отићи у потребну фасциклу и уредити постојећу .хтаццесс датотеку, или је креирати ако још није креирана.

Конфигурисање .хтаццесс датотеке

301 Преусмери хтаццесс

301 преусмеравање у .хтаццесс датотеци се може упоредити са трајним преусмеравањем на веб локацији. Обавештава претраживаче и претраживаче да се страница сада трајно налази на новој адреси и предлаже ажурирање обележивача и индексирање. Такво преусмеравање се обично користи када се страница премести или избрише да би се сачувао њен ранг у резултатима претраге и преусмерили посетиоци на нову локацију.

Да бисте активирали преусмеравања, потребно је да омогућите одговарајућу команду у датотеци .хтаццесс:

RewriteEngine on

Након тога, можете конфигурисати најједноставнији облик преусмеравања:

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

Слично преусмеравање користећи РедирецтПерманент директива изгледа овако:

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

Ово су најлакше методе преусмеравања за конфигурисање. Хајде да размотримо конфигурацију која користи друге, напредније типове преусмеравања са мод_реврите модул:

<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 преусмеравање .хтаццесс, који указује на привремено пресељење, сусрећемо се много ређе. Ево примера таквог подешавања:

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

Дирецтиве ЕррорДоцумент

Ово подешавање вам омогућава да контролишете шта корисник види када се на вашој веб локацији појаве ХТТП грешке. Уместо стандардне поруке о грешци, можете приказати сопствену страницу, која ће посетиоцима бити информативнија и помоћи им да разумеју шта се догодило. Једноставно пратите ову синтаксу за употребу:

ErrorDocument <error_code> <URL_page>

На пример,

ErrorDocument 404 /errors/not_found.html

Значи да када а 404 долази до грешке, страница на /еррорс/нот_фоунд.хтмл биће отворен. Апсолутне УРЛ адресе су наведене на сличан начин:

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

Овај пример указује на приказ сервер_еррор.хтмл страницу на http://example.com/errors/ у случају а 500 грешка.

Одбијање приступа директоријуму сајта

Датотека .хтаццесс има команду Одбиј од свих, што помаже да се одбије приступ одређеним фасциклама или датотекама на вашем веб серверу. Ово може бити корисно ако желите да сакријете приватне информације или важне датотеке од посетилаца сајта како бисте осигурали безбедност података.

Да бисте онемогућили листинг (прегледавање свих доступних директоријума), потребно је да додате ред:

Options -Indexes

Пример блокирања приступа одређеном директоријуму изгледа овако:

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

Слично томе, можете одбити приступ једној датотеци:

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

Или за низ датотека по екстензијама:

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

Блокирање приступа путем ИП адресе

Блокирање приступа путем ИП адресе у датотеци .хтаццесс је метод који вам омогућава да ограничите приступ вашој веб локацији за одређене ИП адресе или њихове групе. Ово може бити корисно ако желите да спречите приступ вашој веб локацији или њеним одређеним деловима за одређене људе или нежељене ботове.

Блокирање једне ИП адресе се врши командом:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Блокирање неколико ИП адреса се врши на сличан начин дуплирањем "Одбиј од" ред са потребним адресама.

За блокирање низа ИП адреса:

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

Да бисте дозволили приступ само за одређене ИП адресе, додајте код:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

За потпуно одбијање приступа користите директиву Одбиј од свих, а за блокирање адреса по маски, наведите Одбиј од КСНУМКС.

Где, 11.22 је ИП адреса маска.

Блокирање посетилаца од стране корисничког агента

Блокирање корисника од стране корисничког агента у датотеци .хтаццесс је метод контроле ко може да приступи вашем веб серверу на основу информација о претраживачу који посетилац користи. Низ Усер-Агент садржи податке о претраживачу који особа користи за интеракцију са вашим сервером и захваљујући овим информацијама можете ограничити приступ одређеним корисницима.

Најчешћи начин блокирања од стране корисничког агента је употреба мод_реврите:

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

У овом примеру:

  1. РевритеЦонд %{ХТТП_УСЕР_АГЕНТ} се користи за проверу стринга Усер-Агент.
  2. ^Бот1, ^Бот2, ^Бот3 су примери стрингова корисничког агента које желимо да блокирамо. НЦ модификатори указују на то да поређење треба да буде неосетљиво на велика и мала слова.
  3. РевритеРуле ^.*$ - [Ф,Л] се примењује на захтев ако је испуњен било који од услова РевритеЦонд. Шаље одговор са статусним кодом 403 Забрањено (Ф) и зауставља обраду правила (Л).

Кеширање у хтаццесс-у

Конфигурисање кеширања преко .хтаццесс датотеке помаже да се ваша веб локација убрза тако што се брже учитава за кориснике. Функционише овако: одређене датотеке, као што су слике, ЦСС стилови и ЈаваСцрипт скрипте, се чувају у кешу претраживача корисника након првог учитавања. Сада претраживач може да користи ове датотеке из кеша, уместо да их поново учитава са сервера сваки пут када корисник посети страницу. Ово смањује време учитавања и побољшава перформансе сајта.

Размотримо пример:

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

За ресурсе који се често ажурирају, с друге стране, потребно је онемогућити кеширање:

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

Оптимизација перформанси сајта

мод_дефлате мод_гзип модули у Апацхе-у помажу у компримовању информација које сервер шаље уређајима корисника. Ово чини датотеке мање величине, што заузврат убрзава учитавање странице. Међутим, важно је запамтити да подршка и конфигурација ових модула могу да варирају у зависности од вашег сервера.

Пример коришћења мод_дефлате модул:

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

Пример за мод_гзип:

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

Разговарали смо о најчешће коришћеним директивама. Можете се упознати са свим могућностима датотеке у званична документација.

Како проверити функционалност .хтаццесс датотеке

Да бисте проверили да ли ваша .хтаццесс датотека ради на сајту, можете извршити следеће кораке:

  1. Намерно промените .хтаццесс датотеку са грешком. Као одговор, сервер би требао дати грешку. Овај метод показује да ли се операција датотеке генерално примењује на серверу.
  2. Проверите функционалност одређених промена које сте направили. На пример, направите мање прилагођавање једног од параметара и процените присуство промена.
  3. Проверите статусни код странице да ли су промене повезане са одговором сервера. Како то учинити, претходно смо описали у чланку ХТТП кодови грешака: комплетна листа грешака сервера.
  4. Погледајте евиденцију сервера. Они приказују све грешке везане за рад .хтаццесс датотеке.
  5. Спроведите тестирање користећи онлајн услуге или алате.

Важно је разумети да не морате да извршите све кораке одједном да бисте проверили функционалност .хтаццесс датотеке. Довољно је изабрати најпогоднији метод са листе и користити га.

Закључак

Конфигурисање .хтаццесс датотеке је важан корак у оптимизацији и заштити вашег Апацхе сервера. Истражили смо како ова датотека помаже у управљању преусмеравањем, компримовању садржаја и осигуравању безбедности. Када савладате рад са .хтаццесс-ом, добијате моћан алат за побољшање перформанси и функционалности веб локација.

❮ Претходни чланак Подешавање ФТП сервера
Следећи чланак ❯ Како да конфигуришете веб сервер (Апацхе-ПХП-МиСКЛ/МариаДБ) на Линук-у

Питајте нас за ВПС

Увек смо спремни да одговоримо на ваша питања у било које доба дана и ноћи.