Бұл мақалада біз .htaccess файлын пайдаланудың негізгі принциптерін қарастырамыз, бұл SEO-ны жақсарту үшін өте маңызды. Бұл файл іздеу жүйелері арқылы беттерді дұрыс индекстеуді қамтамасыз етеді. Біз қайта бағыттауларды басқаруды, қауіпсіздікті конфигурациялауды және өнімділікті арттыруды үйренеміз. Сонымен қатар, біз бұл файлды дербес конфигурациялау туралы кеңестер береміз.
.htaccess не үшін қажет
.htaccess файлы Apache серверлеріндегі веб-әзірлеушілер үшін «қашықтан басқару» түрі ретінде әрекет етеді. Ол әртүрлі параметрлерді реттеуге және веб-сайттың әрекетін басқаруға ыңғайлы құралдарды ұсынады. Сервердің негізгі конфигурация файлдарына тікелей қатынау қолжетімсіз болған кезде (мысалы, виртуалды хостингте жиі болатындай), .htaccess қажетті өзгертулерді енгізу үшін пайдалы құралға айналады.
Htaccess көбінесе сайттың түбірлік қалтасында немесе арнайы конфигурация қажет қалталарда орналасады. Мысалы, егер сіз WordPress-ті қолдансаңыз, конфигурацияны біз мақалада талқылаған Yoast SEO плагині арқылы жасауға болады. robots.txt конфигурациялануда. Басқа жағдайларда, қажетті қалтаға өтіп, бар .htaccess файлын өңдеу немесе ол әлі жасалмаған болса, оны жасау жеткілікті.
.htaccess файлын конфигурациялау
301 htaccess қайта бағыттау
.htaccess файлындағы 301 қайта бағыттауды веб-сайттағы тұрақты қайта бағыттаумен салыстыруға болады. Ол іздеу жүйелері мен браузерлерге бет енді тұрақты түрде жаңа мекенжайда орналасқанын хабарлайды және бетбелгілер мен индекстеуді жаңартуды ұсынады. Мұндай қайта бағыттау әдетте іздеу нәтижелеріндегі рейтингін сақтау және келушілерді жаңа орынға қайта бағыттау үшін бет жылжытылған немесе жойылған кезде қолданылады.
Қайта бағыттауды белсендіру үшін .htaccess файлында сәйкес пәрменді қосу керек:
RewriteEngine on
Осыдан кейін сіз қайта бағыттаудың ең қарапайым түрін конфигурациялай аласыз:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Осыған ұқсас қайта бағыттау RedirectPermanent директивасы келесідей көрінеді:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Бұл конфигурациялаудың ең оңай қайта бағыттау әдістері. көмегімен қайта бағыттаудың басқа, анағұрлым жетілдірілген түрлерін пайдаланатын конфигурацияны қарастырайық mod_rewrite модуль:
<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 қайта бағыттау .htaccess әлдеқайда сирек кездеседі. Міне, осындай параметрдің мысалы:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Директивалық қате құжаты
Бұл параметр сайтыңызда HTTP қателері пайда болған кезде пайдаланушы не көретінін басқаруға мүмкіндік береді. Стандартты қате туралы хабардың орнына сіз өзіңіздің бетіңізді көрсете аласыз, ол келуші үшін көбірек ақпараттандырады және оларға не болғанын түсінуге көмектеседі. Пайдалану үшін жай ғана мына синтаксисті орындаңыз:
ErrorDocument <error_code> <URL_page>
Мысалға,
ErrorDocument 404 /errors/not_found.html
Бұл дегеніміз, қашан а 404 қате орын алады, бет мекенжайында /errors/not_found.html ашылады. Абсолютті URL мекенжайлары ұқсас көрсетілген:
ErrorDocument 500 http://example.com/errors/server_error.html
Бұл мысал дисплейді көрсетеді server_error.html бет http://example.com/errors/ жағдайда а 500 Қате.
Сайт каталогына кіруге тыйым салу
.htaccess файлында пәрмен бар Барлығынан бас тарту, бұл веб-сервердегі белгілі бір қалталарға немесе файлдарға кіруден бас тартуға көмектеседі. Бұл деректер қауіпсіздігін қамтамасыз ету үшін сайтқа кірушілерден жеке ақпаратты немесе маңызды файлдарды жасырғыңыз келсе пайдалы болуы мүмкін.
Листингті өшіру үшін (барлық қолжетімді каталогтарды көру) жолды қосу керек:
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>
IP арқылы кіруге тыйым салу
.htaccess файлындағы IP арқылы кіруді бұғаттау - белгілі бір IP мекенжайлары немесе олардың топтары үшін веб-сайтыңызға кіруді шектеуге мүмкіндік беретін әдіс. Бұл белгілі бір адамдарға немесе қажетсіз боттарға арналған сайтқа немесе оның белгілі бір бөліктеріне кіруді болдырғыңыз келсе пайдалы болуы мүмкін.
Жалғыз IP мекенжайын бұғаттау пәрменмен орындалады:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Бірнеше IP мекенжайларын бұғаттау "" көшірмелерімен бірдей орындалады.Бас тарту" қажетті мекенжайлары бар жол.
IP мекенжайларының ауқымын блоктау үшін:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Арнайы IP мекенжайларына ғана кіруге рұқсат беру үшін кодты қосыңыз:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Қол жеткізуден толық бас тарту үшін директиваны пайдаланыңыз Барлығынан бас тарту, және мекенжайларды маска арқылы блоктау үшін көрсетіңіз 11.22 бастап бас тарту.
Мұнда, 11.22 IP мекенжайы болып табылады маска.
Пайдаланушы-агент арқылы келушілерді блоктау
.htaccess файлындағы User-Agent арқылы пайдаланушыларды бұғаттау - кіруші пайдаланатын браузер туралы ақпарат негізінде веб-серверіңізге кім кіре алатынын бақылау әдісі. User-Agent жолында адам сервермен әрекеттесу үшін пайдаланатын шолғыш туралы деректер бар және осы ақпараттың арқасында белгілі бір пайдаланушылар үшін кіруді шектей аласыз.
Пайдаланушы-агент арқылы бұғаттаудың ең көп тараған жолы - пайдалану 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>
Бұл мысалда:
- RewriteCond %{HTTP_USER_AGENT} пайдаланушы-агент жолын тексеру үшін пайдаланылады.
- ^Bot1, ^Bot2, ^Bot3 - біз бұғаттағымыз келетін пайдаланушы-агент жолдарының мысалдары. NC модификаторлары салыстырудың регистрді ескермеу керектігін көрсетеді.
- RewriteRule ^.*$ - RewriteCond шарттарының кез келгені орындалса, [F,L] сұрауға қолданылады. Ол 403 тыйым салынған күй коды (F) бар жауап жібереді және өңдеу ережелерін (L) тоқтатады.
htaccess ішінде кэштеу
.htaccess файлы арқылы кэштеуді конфигурациялау торапты пайдаланушылар үшін жылдамырақ жүктеу арқылы жылдамдатуға көмектеседі. Ол келесідей жұмыс істейді: кескіндер, CSS мәнерлері және JavaScript сценарийлері сияқты белгілі бір файлдар бірінші жүктеуден кейін пайдаланушы шолғышының кэшінде сақталады. Енді браузер пайдаланушы бетке кірген сайын серверден қайта жүктеудің орнына бұл файлдарды кэштен пайдалана алады. Бұл жүктеу уақытын қысқартады және сайт жұмысын жақсартады.
Мысал қарастырайық:
# 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>
Сайт өнімділігін оңтайландыру
The mod_deflate және mod_gzip Apache модульдері сервер пайдаланушылардың құрылғыларына жіберетін ақпаратты қысуға көмектеседі. Бұл файлдарды кішірейтеді, бұл өз кезегінде бетті жүктеуді жылдамдатады. Дегенмен, бұл модульдерді қолдау және конфигурациялау серверіңізге байланысты әр түрлі болуы мүмкін екенін есте ұстаған жөн.
пайдалану мысалы mod_deflate модуль:
<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>
үшін мысал 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>
Біз ең жиі қолданылатын директиваларды талқыладық. ішінде файлдың барлық мүмкіндіктерімен танысуға болады ресми құжаттар.
.htaccess файлының функционалдығын қалай тексеруге болады
.htaccess файлының сайтта жұмыс істеп тұрғанын тексеру үшін келесі қадамдарды орындауға болады:
- .htaccess файлын қатемен әдейі өзгертіңіз. Жауап ретінде сервер қате жіберуі керек. Бұл әдіс файл әрекеті әдетте серверде қолданылғанын көрсетеді.
- Өзіңіз жасаған арнайы өзгертулердің функционалдығын тексеріңіз. Мысалы, параметрлердің біріне шамалы түзету енгізіп, өзгерістердің болуын бағалаңыз.
- Өзгерістер сервердің жауабына қатысты болса, беттің күй кодын тексеріңіз. Мұны қалай жасауға болады, біз бұрын мақалада сипаттадық HTTP қате кодтары: сервер қателерінің толық тізімі.
- Сервер журналдарын қараңыз. Олар .htaccess файлының жұмысына қатысты барлық қателерді көрсетеді.
- Онлайн қызметтерді немесе құралдарды пайдаланып тестілеуді жүргізіңіз.
.htaccess файлының функционалдығын тексеру үшін барлық қадамдарды бірден орындаудың қажеті жоқ екенін түсіну маңызды. Тізімнен ең қолайлы әдісті таңдап, оны қолдану жеткілікті.
қорытынды
.htaccess файлын конфигурациялау Apache серверін оңтайландыру және қорғаудағы маңызды қадам болып табылады. Бұл файл қайта бағыттауды басқаруға, мазмұнды қысуға және қауіпсіздікті қамтамасыз етуге қалай көмектесетінін зерттедік. .htaccess-пен жұмыс істеуді меңгергеннен кейін сіз веб-сайттардың өнімділігі мен функционалдығын жақсартуға арналған қуатты құрал аласыз.