මෙම ලිපියෙන්, SEO වැඩි දියුණු කිරීම සඳහා ඉතා වැදගත් වන .htaccess ගොනුව භාවිතා කිරීමේ මූලික මූලධර්ම අපි ගවේෂණය කරන්නෙමු. මෙම ගොනුව සෙවුම් යන්ත්ර මගින් පිටු නිසි ලෙස සුචිගත කිරීම සහතික කරයි. යළි-යොමුවීම් කළමනාකරණය කරන්නේ කෙසේද, ආරක්ෂාව වින්යාස කරන්නේ කෙසේද සහ කාර්ය සාධනය වැඩි කරන්නේ කෙසේද යන්න අපි ඉගෙන ගනිමු. ඊට අමතරව, මෙම ගොනුව ස්වාධීනව වින්යාස කරන්නේ කෙසේද යන්න පිළිබඳ උපදෙස් අපි ලබා දෙන්නෙමු.
.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 හි පිටුව විවෘත වන බවයි. නිරපේක්ෂ URLs ඒ ආකාරයෙන්ම දක්වා ඇත:
ErrorDocument 500 http://example.com/errors/server_error.html
මෙම උදාහරණයෙන් දැක්වෙන්නේ 500 දෝෂයක් ඇති වූ විට http://example.com/errors/ හි server_error.html පිටුව දර්ශනය වන ආකාරයයි.
අඩවි නාමාවලියකට ප්රවේශය ප්රතික්ෂේප කිරීම
.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
" Deny from " පේළිය අවශ්ය ලිපින සමඟ අනුපිටපත් කිරීමෙන් බහු 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
ප්රවේශය සම්පූර්ණයෙන්ම ප්රතික්ෂේප කිරීම සඳහා, සියල්ලෙන් Deny විධානය භාවිතා කරන්න , සහ ආවරණ මඟින් ලිපින අවහිර කිරීම සඳහා, 11.22 සිට Deny සඳහන් කරන්න.
එහිදී, 11.22 යනු IP ලිපින ආවරණයයි.
පරිශීලක-නියෝජිතයා විසින් අමුත්තන් අවහිර කිරීම
.htaccess ගොනුවේ පරිශීලක-නියෝජිතයා විසින් පරිශීලකයින් අවහිර කිරීම යනු ආගන්තුකයා භාවිතා කරන බ්රව්සරය පිළිබඳ තොරතුරු මත පදනම්ව ඔබේ වෙබ් සේවාදායකයට ප්රවේශ විය හැක්කේ කාටද යන්න පාලනය කිරීමේ ක්රමයකි. පරිශීලක-නියෝජිත නූලෙහි පුද්ගලයෙකු ඔබේ සේවාදායකය සමඟ අන්තර් ක්රියා කිරීමට භාවිතා කරන බ්රව්සරය පිළිබඳ දත්ත අඩංගු වන අතර, මෙම තොරතුරු වලට ස්තූතිවන්ත වන්නට, ඔබට ඇතැම් පරිශීලකයින් සඳහා ප්රවේශය සීමා කළ හැකිය.
පරිශීලක-නියෝජිතයා විසින් අවහිර කිරීමට වඩාත් පොදු ක්රමය වන්නේ 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 ^.*$ - [F,L] RewriteCond කොන්දේසි කිසිවක් සපුරා ඇත්නම් ඉල්ලීමට අදාළ වේ. එය 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>
අඩවි කාර්ය සාධනය ප්රශස්ත කිරීම
Apache හි ඇති mod_deflate සහ mod_gzip මොඩියුල සේවාදායකය පරිශීලකයින්ගේ උපාංග වෙත යවන තොරතුරු සම්පීඩනය කිරීමට උපකාරී වේ. මෙය ගොනු ප්රමාණයෙන් කුඩා කරයි, එමඟින් පිටු පැටවීම වේගවත් කරයි. කෙසේ වෙතත්, මෙම මොඩියුල සඳහා සහාය සහ වින්යාසය ඔබගේ සේවාදායකය අනුව වෙනස් විය හැකි බව මතක තබා ගැනීම වැදගත්ය.
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 සමඟ වැඩ කිරීම ප්රගුණ කළ පසු, වෙබ් අඩවි වල කාර්ය සාධනය සහ ක්රියාකාරීත්වය වැඩි දියුණු කිරීම සඳහා ඔබට ප්රබල මෙවලමක් ලැබේ.