A cikin wannan labarin, za mu bincika mahimman ka'idodin amfani da fayil na .htaccess, wanda ke da mahimmanci don haɓaka SEO. Wannan fayil ɗin yana tabbatar da ingantaccen firikwensin shafuka ta injunan bincike. Za mu koyi yadda ake sarrafa turawa, daidaita tsaro, da haɓaka aiki. Bugu da ƙari, za mu ba da shawarwari kan yadda ake daidaita wannan fayil ɗin da kansa.
Me yasa .htaccess Ana Bukatar
Fayil ɗin .htaccess yana aiki azaman nau'in "ikon nesa" don masu haɓaka gidan yanar gizo akan sabar Apache. Yana ba da kayan aiki masu dacewa don daidaita sigogi daban-daban da sarrafa halayen gidan yanar gizon. Lokacin da ba a samun damar kai tsaye zuwa babban fayilolin sanyi na uwar garken (kamar yadda yake sau da yawa tare da hosting kama-da-wane, alal misali), .htaccess ya zama kayan aiki mai amfani don yin canje-canje masu mahimmanci.
Htaccess galibi yana cikin tushen babban fayil ɗin rukunin yanar gizon ku ko a cikin waɗancan manyan fayilolin inda ake buƙatar tsari na musamman. Misali, idan kuna amfani da WordPress, ana iya yin sanyi ta hanyar Yoast SEO plugin, wanda muka tattauna a labarin akan Yana daidaita robots.txt. A wasu lokuta, ya isa ya je babban fayil ɗin da ake buƙata kuma gyara fayil ɗin .htaccess da ke akwai, ko ƙirƙirar shi idan ba a ƙirƙira shi ba tukuna.
Ana saita fayil ɗin .htaccess
301 Redirect htaccess
Za a iya kwatanta turawa ta 301 a cikin fayil ɗin .htaccess da juyawa na dindindin akan gidan yanar gizo. Yana sanar da injunan bincike da masu bincike cewa shafin yanzu yana wurin dindindin a sabon adireshi kuma yana ba da shawarar sabunta alamun shafi da fihirisa. Ana amfani da irin wannan jujjuyawar galibi lokacin da aka motsa shafi ko share don adana matsayinsa a cikin sakamakon bincike da tura baƙi zuwa sabon wurin.
Don kunna turawa, kuna buƙatar kunna umarnin da ya dace a cikin fayil ɗin .htaccess:
RewriteEngine on
Bayan haka, zaku iya saita mafi sauƙin hanyar juyawa:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Mai kama da turawa ta amfani da Maida Matsakaici umarnin yayi kama da haka:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Waɗannan su ne mafi sauƙin hanyoyin turawa don daidaitawa. Bari mu yi la'akari da ƙayyadaddun tsari wanda ke amfani da wasu, ƙarin ci-gaba nau'ikan juyawa tare da mod_rewrite module:
<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 turawa .htaccess, yana nuna ƙaura na ɗan lokaci, ana ci karo da ƙasa akai-akai. Ga misalin irin wannan saitin:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Kuskuren Umarni
Wannan saitin yana ba ku damar sarrafa abin da mai amfani ke gani lokacin da kurakuran HTTP suka faru a rukunin yanar gizon ku. Maimakon daidaitaccen saƙon kuskure, zaku iya nuna shafinku, wanda zai zama ƙarin bayani ga baƙo kuma ya taimaka musu su fahimci abin da ya faru. Kawai bi wannan syntax don amfani:
ErrorDocument <error_code> <URL_page>
Misali,
ErrorDocument 404 /errors/not_found.html
Yana nufin cewa lokacin da a 404 kuskure yana faruwa, shafin a /kurakurai/not_found.html za a bude. An ƙayyade cikakkun URLs kamar haka:
ErrorDocument 500 http://example.com/errors/server_error.html
Wannan misalin yana nuna nunin uwar garken_error.html shafi a http://example.com/errors/ a lamarin a 500 kuskure.
Ƙin Samun shiga Littafin Jagorar Yanar Gizo
Fayil ɗin .htaccess yana da umarni Karyata daga duka, wanda ke taimakawa hana shiga wasu manyan fayiloli ko fayiloli akan sabar gidan yanar gizon ku. Wannan na iya zama da amfani idan kuna son ɓoye bayanan sirri ko mahimman fayiloli daga maziyartan rukunin yanar gizo don tabbatar da tsaron bayanai.
Don musaki jeri (kallon duk kundayen adireshi), kuna buƙatar ƙara layin:
Options -Indexes
Misali na toshe damar shiga takamaiman kundin adireshi yayi kama da haka:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Hakazalika, kuna iya hana samun dama ga fayil guda:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Ko don kewayon fayiloli ta tsawo:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Katange Shiga ta IP
Katange damar shiga ta IP a cikin fayil ɗin .htaccess hanya ce da ke ba ka damar ƙuntata damar shiga gidan yanar gizon ku don takamaiman adiresoshin IP ko ƙungiyoyin su. Wannan na iya zama da amfani idan kuna son hana shiga rukunin yanar gizonku ko takamaiman sassansa don wasu mutane ko bots ɗin da ba'a so.
Ana toshe adireshin IP guda ɗaya tare da umarnin:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Ana yin toshe adireshin IP da yawa ta hanyar kwafi "Karya daga" layi tare da adiresoshin da ake bukata.
Don toshe kewayon adiresoshin IP:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Don ba da damar isa ga takamaiman IPs kawai, ƙara lambar:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Don cikakken hana shiga, yi amfani da umarnin Karyata daga duka, kuma don toshe adireshi ta abin rufe fuska, saka Karya daga 11.22.
ina, 11.22 shine adireshin IP rufe fuska.
Toshe Baƙi ta Wakilin Mai Amfani
Toshe masu amfani ta Wakilin Mai amfani a cikin fayil ɗin .htaccess hanya ce ta sarrafa wanda zai iya shiga sabar gidan yanar gizon ku dangane da bayanin burauzar da mai ziyara ke amfani da shi. Kitin mai amfani-Agent yana ƙunshe da bayanai game da burauzar da mutum ke amfani da shi don mu'amala da sabar ku, kuma godiya ga wannan bayanin, zaku iya taƙaita isa ga wasu masu amfani.
Mafi yawan hanyar toshewa ta User-Agent shine amfani 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>
A cikin wannan misali:
- RewriteCond %{HTTP_USER_AGENT} ana amfani dashi don duba kirtani mai amfani-Agent.
- ^Bot1, ^Bot2, ^Bot3 misalan igiyoyi masu amfani-Agent da muke son toshewa. Masu gyara na NC suna nuna cewa kwatancen ya kamata ya zama marar hankali.
- Sake rubuta Dokar ^.*$ - [F,L] ya shafi buƙatun idan an cika kowane sharuɗɗan Sake rubutawa. Yana aika amsa tare da 403 Forbidden status code (F) kuma ya daina aiki da dokokin (L).
Caching a cikin htaccess
Haɓaka caching ta hanyar fayil ɗin .htaccess yana taimakawa haɓaka rukunin yanar gizon ku ta hanyar sanya shi ɗauka da sauri ga masu amfani. Yana aiki kamar haka: wasu fayiloli, kamar hotuna, salon CSS, da rubutun JavaScript, ana adana su a cikin cache na mai amfani bayan lodi na farko. Yanzu mai binciken yana iya amfani da waɗannan fayiloli daga cache, maimakon sake loda su daga uwar garken duk lokacin da mai amfani ya ziyarci shafi. Wannan yana rage lokacin lodawa kuma yana inganta aikin rukunin yanar gizon.
Yi la'akari da misali:
# 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>
Don albarkatun da ake sabuntawa akai-akai, a gefe guda, ya zama dole a kashe caching:
# 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>
Inganta Ayyukan Yanar Gizo
The mod_deflate da kuma mod_gzip kayayyaki a cikin Apache suna taimakawa damfara bayanan da uwar garken ke aikawa zuwa na'urorin masu amfani. Wannan yana sa fayilolin ƙanƙanta da girmansu, wanda hakan ke ƙara saurin loda shafi. Koyaya, yana da mahimmanci a tuna cewa goyan baya da daidaitawar waɗannan samfuran na iya bambanta dangane da sabar ku.
Misali na amfani da mod_deflate module:
<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>
Misali ga 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>
Mun tattauna umarnin da aka fi amfani da su. Kuna iya sanin kanku da duk iyawar fayil ɗin a cikin takardun aikin hukuma.
Yadda ake Duba Ayyukan Fayil ɗin .htaccess
Don bincika ko fayil ɗin .htaccess ɗinku yana aiki akan rukunin yanar gizon, zaku iya aiwatar da matakai masu zuwa:
- Da gangan canza fayil ɗin .htaccess tare da kuskure. A cikin martani, uwar garken ya kamata ya ba da kuskure. Wannan hanyar tana nuna ko ana amfani da aikin fayil gabaɗaya akan sabar.
- Bincika ayyukan takamaiman canje-canje da kuka yi. Misali, yi ƙaramin daidaitawa zuwa ɗaya daga cikin sigogi kuma tantance kasancewar canje-canje.
- Bincika lambar matsayi na shafin idan canje-canjen suna da alaƙa da martanin uwar garken. Yadda za a yi wannan, mun bayyana a baya a cikin labarin Lambobin Kuskuren HTTP: cikakken jerin kurakuran uwar garken.
- Koma zuwa rajistan ayyukan uwar garken. Suna nuna duk kurakurai masu alaƙa da aikin fayil ɗin .htaccess.
- Gudanar da gwaji ta amfani da sabis na kan layi ko kayan aiki.
Yana da mahimmanci a fahimci cewa don bincika aikin fayil ɗin .htaccess, ba kwa buƙatar aiwatar da duk matakan lokaci ɗaya. Ya isa ya zaɓi hanya mafi dacewa daga jerin kuma amfani da shi.
Kammalawa
Daidaita fayil ɗin .htaccess muhimmin mataki ne don ingantawa da kare sabar Apache ku. Mun bincika yadda wannan fayil ɗin ke taimakawa sarrafa turawa, damfara abun ciki, da tabbatar da tsaro. Da zarar kun kware aiki tare da .htaccess, kuna samun kayan aiki mai ƙarfi don haɓaka aiki da ayyukan gidajen yanar gizo.