Ninu àpilẹkọ yii, a yoo ṣawari awọn ilana ipilẹ ti lilo faili .htaccess, eyiti o ṣe pataki fun igbelaruge SEO. Faili yii ṣe idaniloju itọka to dara ti awọn oju-iwe nipasẹ awọn ẹrọ wiwa. A yoo kọ ẹkọ bi a ṣe le ṣakoso awọn àtúnjúwe, tunto aabo, ati igbelaruge iṣẹ. Ni afikun, a yoo pese awọn imọran lori bi o ṣe le tunto faili yii ni ominira.
Kini idi ti .htaccess nilo
Faili .htaccess n ṣiṣẹ bi iru “iṣakoso latọna jijin” fun awọn olupilẹṣẹ wẹẹbu lori awọn olupin Apache. O nfunni awọn irinṣẹ irọrun fun ṣiṣatunṣe ọpọlọpọ awọn ayeraye ati iṣakoso ihuwasi ti oju opo wẹẹbu kan. Nigbati wiwọle taara si awọn faili iṣeto akọkọ ti olupin ko si (gẹgẹbi igbagbogbo ọran pẹlu alejo gbigba foju, fun apẹẹrẹ), .htaccess di ohun elo to wulo fun ṣiṣe awọn ayipada to ṣe pataki.
Htaccess sábà máa ń wà nínú fáìlì gbòǹgbò ojú òpó wẹ́ẹ̀bù rẹ tàbí nínú àwọn fáìlì tí a ti nílò ìṣètò pàtàkì. Fún àpẹẹrẹ, tí o bá lo WordPress, ìṣètò lè ṣeé ṣe nípasẹ̀ àfikún Yoast SEO, èyí tí a jíròrò nínú àpilẹ̀kọ lórí Ṣíṣètò robots.txt . Ní àwọn ọ̀ràn mìíràn, ó tó láti lọ sí fáìlì tí a nílò kí o sì ṣàtúnṣe fáìlì .htaccess tí ó wà tẹ́lẹ̀, tàbí kí o ṣẹ̀dá rẹ̀ tí a kò bá tí ì ṣẹ̀dá rẹ̀.
Ṣiṣeto faili .htaccess
301 àtúnjúwe htaccess
Atunsọ 301 ninu faili .htaccess le ṣe afiwe si itusilẹ ayeraye lori oju opo wẹẹbu kan. O sọfun awọn ẹrọ wiwa ati awọn aṣawakiri pe oju-iwe naa ti wa ni ayeraye ni adiresi tuntun kan ati daba pe awọn bukumaaki imudojuiwọn ati titọka. Irú àtúnjúwe bẹ́ẹ̀ ni a sábà máa ń lò nígbà tí a bá gbé ojú-ewé tàbí píparẹ́ láti tọ́jú ipò rẹ̀ nínú àwọn àbájáde ìṣàwárí àti àtúnjúwe àwọn àbẹ̀wò sí ibi tuntun.
Lati mu awọn àtúnjúwe ṣiṣẹ, o nilo lati mu aṣẹ ti o baamu ṣiṣẹ ninu faili .htaccess:
RewriteEngine on
Lẹhin iyẹn, o le tunto ọna atunṣe ti o rọrun julọ:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Irú àtúnṣe kan náà nípa lílo ìtọ́ni RedirectPermanent rí báyìí:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Àwọn ọ̀nà ìtúnṣe tó rọrùn jùlọ nìyí láti ṣètò. Ẹ jẹ́ ká gbé ìṣètò kan yẹ̀ wò tó ń lo àwọn irú ìtúnṣe míì tó ti pẹ́ jù pẹ̀lú module 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>
A 302 àtúnjúwe .htaccess, ti o nfihan iṣipopada igba diẹ, ti wa ni alabapade pupọ diẹ sii nigbagbogbo. Eyi ni apẹẹrẹ ti iru eto:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Aṣiṣe Itọsọna
Eto yii ngbanilaaye lati ṣakoso ohun ti olumulo n rii nigbati awọn aṣiṣe HTTP ba waye lori aaye rẹ. Dipo ifiranṣẹ aṣiṣe boṣewa, o le ṣafihan oju-iwe tirẹ, eyiti yoo jẹ alaye diẹ sii fun alejo ati ṣe iranlọwọ fun wọn lati loye ohun ti o ṣẹlẹ. Kan tẹle sintasi yii fun lilo:
ErrorDocument <error_code> <URL_page>
Fun apere,
ErrorDocument 404 /errors/not_found.html
Èyí túmọ̀ sí wípé nígbà tí àṣìṣe 404 bá ṣẹlẹ̀, ojú ìwé tó wà ní /errors/not_found.html ni a ó ṣí. Àwọn URL pípé ni a sọ ní ọ̀nà kan náà:
ErrorDocument 500 http://example.com/errors/server_error.html
Àpẹẹrẹ yìí fi hàn pé ojú ìwé server_error.html hàn ní http://example.com/errors/ bí àṣìṣe 500 bá ṣẹlẹ̀.
Kiko Wiwọle si Itọsọna Aye kan
Fáìlì .htaccess ní àṣẹ Deny from all , èyí tí ó ń ran lọ́wọ́ láti kọ̀ láti wọlé sí àwọn fáìlì kan tàbí àwọn fáìlì lórí olupin wẹ́ẹ̀bù rẹ. Èyí lè wúlò tí o bá fẹ́ fi ìwífún àdáni tàbí àwọn fáìlì pàtàkì pamọ́ kúrò lọ́wọ́ àwọn àlejò ojú òpó wẹ́ẹ̀bù láti rí i dájú pé dátà wà.
Lati mu kikojọ ṣiṣẹ (wiwo gbogbo awọn ilana ti o wa), o nilo lati ṣafikun laini naa:
Options -Indexes
Apeere ti idinamọ wiwọle si itọsọna kan pato dabi eyi:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Bakanna, o le kọ iraye si faili kan:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Tabi fun ọpọlọpọ awọn faili nipasẹ itẹsiwaju:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Ìdènà Wiwọle nipasẹ IP
Idilọwọ wiwọle nipasẹ IP ni faili .htaccess jẹ ọna ti o fun ọ laaye lati ni ihamọ wiwọle si aaye ayelujara rẹ fun awọn adirẹsi IP pato tabi awọn ẹgbẹ wọn. Eyi le wulo ti o ba fẹ ṣe idiwọ iraye si aaye rẹ tabi awọn ẹya ara rẹ pato fun awọn eniyan kan tabi awọn bot aifẹ.
Dinamọ adiresi IP kan jẹ ṣiṣe pẹlu aṣẹ:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Dídínà ọ̀pọ̀lọpọ̀ àdírẹ́sì IP ni a ṣe bẹ́ẹ̀ nípa ṣíṣe àdàkọ ìlà "Kò sí " pẹ̀lú àwọn àdírẹ́sì tí a nílò.
Fun idinamọ ọpọlọpọ awọn adiresi IP:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Lati gba aaye laaye fun awọn IP kan pato, ṣafikun koodu naa:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Fún ìkọ̀sílẹ̀ gbogbo ìwọ̀lé, lo ìlànà Deny from all , àti fún dídínà àwọn àdírẹ́sì nípasẹ̀ ìbòjú, sọ Deny láti 11.22.
Níbo, 11.22 ni ìbòjú àdírẹ́sì IP náà.
Idilọwọ awọn alejo nipasẹ Olumulo-Aṣoju
Idilọwọ awọn olumulo nipasẹ Olumulo-Aṣoju ninu faili .htaccess jẹ ọna ti iṣakoso ti o le wọle si olupin wẹẹbu rẹ ti o da lori alaye nipa aṣawakiri ti alejo nlo. Okun Olumulo-Aṣoju ni data ninu nipa ẹrọ aṣawakiri ti eniyan nlo lati ṣe ajọṣepọ pẹlu olupin rẹ, ati pe ọpẹ si alaye yii, o le ni ihamọ iwọle fun awọn olumulo kan.
Ọ̀nà tí ó wọ́pọ̀ jùlọ láti dènà nípasẹ̀ User-Agent ni láti lo 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>
Ninu apẹẹrẹ yii:
- RewriteCond%{HTTP_USER_AGENT} ni a lo lati ṣayẹwo okun Olumulo-Aṣoju.
- ^Bot1, ^Bot2, ^Bot3 jẹ apẹẹrẹ ti awọn gbolohun ọrọ Olumulo-Aṣoju ti a fẹ lati dènà. Awọn oluyipada NC tọka pe lafiwe yẹ ki o jẹ aibikita ọran.
- RewriteRule ^.*$ - [F,L] kan si ibeere ti eyikeyi awọn ipo RewriteCond ba pade. O fi esi kan ranṣẹ pẹlu 403 Ewọ ipo koodu (F) ati ki o da processing awọn ofin (L).
Caching ni htaccess
Ṣiṣeto caching nipasẹ faili .htaccess ṣe iranlọwọ fun iyara aaye rẹ nipa ṣiṣe ki o fifuye yiyara fun awọn olumulo. O ṣiṣẹ bii eyi: awọn faili kan, gẹgẹbi awọn aworan, awọn aṣa CSS, ati awọn iwe afọwọkọ JavaScript, ti wa ni ipamọ ninu kaṣe aṣawakiri olumulo lẹhin fifuye akọkọ. Bayi ẹrọ aṣawakiri le lo awọn faili wọnyi lati kaṣe, dipo kikojọpọ wọn lati olupin ni gbogbo igba ti olumulo ba ṣabẹwo si oju-iwe kan. Eyi dinku akoko ikojọpọ ati ilọsiwaju iṣẹ aaye.
Gbé àpẹẹrẹ kan yẹ̀ wò:
# 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>
Fun awọn orisun ti a ṣe imudojuiwọn nigbagbogbo, ni apa keji, o jẹ dandan lati mu caching kuro:
# 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>
Ti o dara ju Aye Performance
Àwọn modulu mod_deflate àti mod_gzip nínú Apache ń ran lọ́wọ́ láti fún ìwífún tí olupin náà ń fi ránṣẹ́ sí àwọn ẹ̀rọ olùlò ní ìpele díẹ̀. Èyí ń mú kí àwọn fáìlì náà kéré sí i, èyí tí ó ń mú kí ìrùsókè ojú ìwé yára sí i. Síbẹ̀síbẹ̀, ó ṣe pàtàkì láti rántí pé ìtìlẹ́yìn àti ìṣètò àwọn modulu wọ̀nyí lè yàtọ̀ síra ní ìbámu pẹ̀lú olupin rẹ.
Àpẹẹrẹ nípa lílo module 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>
Àpẹẹrẹ fún 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>
A jíròrò àwọn ìlànà tí a sábà máa ń lò jùlọ. O lè mọ gbogbo agbára fáìlì náà dáadáa nínú ìwé àṣẹ.
Bii o ṣe le Ṣayẹwo Iṣiṣẹ ti Faili .htaccess
Lati ṣayẹwo boya faili .htaccess rẹ n ṣiṣẹ lori aaye naa, o le ṣe awọn igbesẹ wọnyi:
- Mọọmọ yi faili .htaccess pada pẹlu aṣiṣe kan. Ni idahun, olupin yẹ ki o fun aṣiṣe kan. Ọna yii fihan boya iṣẹ ṣiṣe faili naa jẹ lilo ni gbogbogbo lori olupin naa.
- Ṣayẹwo iṣẹ ṣiṣe ti awọn ayipada kan pato ti o ti ṣe. Fun apẹẹrẹ, ṣe atunṣe kekere si ọkan ninu awọn paramita ati ṣe ayẹwo wiwa awọn ayipada.
- Ṣayẹwo koodu ipo ti oju-iwe naa ti awọn iyipada ba ni ibatan si esi olupin naa. Bii o ṣe le ṣe eyi, a ti ṣalaye tẹlẹ ninu nkan naa Awọn koodu aṣiṣe HTTP: atokọ pipe ti awọn aṣiṣe olupin.
- Tọkasi awọn akọọlẹ olupin. Wọn ṣe afihan gbogbo awọn aṣiṣe ti o ni ibatan si iṣẹ ti faili .htaccess.
- Ṣe idanwo ni lilo awọn iṣẹ ori ayelujara tabi awọn irinṣẹ.
O ṣe pataki lati ni oye pe lati ṣayẹwo iṣẹ ṣiṣe ti faili .htaccess, iwọ ko nilo lati ṣe gbogbo awọn igbesẹ ni ẹẹkan. O to lati yan ọna ti o dara julọ lati atokọ ki o lo.
ipari
Ṣiṣeto faili .htaccess jẹ igbesẹ pataki ni iṣapeye ati idaabobo olupin Apache rẹ. A ti ṣawari bawo ni faili yii ṣe ṣe iranlọwọ lati ṣakoso awọn àtúnjúwe, compress akoonu, ati rii daju aabo. Ni kete ti o ba ṣakoso ṣiṣẹ pẹlu .htaccess, o gba ohun elo ti o lagbara fun imudarasi iṣẹ ati iṣẹ ṣiṣe ti awọn oju opo wẹẹbu.