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.
Sau da yawa Htaccess yana cikin babban fayil ɗin shafinku ko kuma a cikin waɗancan manyan fayiloli inda ake buƙatar tsari na musamman. Misali, idan kuna amfani da WordPress, ana iya yin tsari ta hanyar Yoast SEO plugin, wanda muka tattauna a cikin labarin kan Haɓaka robots.txt . A wasu lokuta, ya isa a je babban fayil ɗin da ake buƙata a gyara fayil ɗin .htaccess da ke akwai, ko a ƙirƙiri 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>
Irin wannan hanyar turawa ta amfani da umarnin RedirectPermanent tana 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 hanyoyin tura turawa mafi sauƙi don saitawa. Bari mu yi la'akari da tsari wanda ke amfani da wasu nau'ikan turawa masu ci gaba tare da module na 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 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 idan kuskuren 404 ya faru, za a buɗe shafin da ke /errors/not_found.html . An ƙayyade cikakkun URLs iri ɗaya:
ErrorDocument 500 http://example.com/errors/server_error.html
Wannan misali yana nuna nunin shafin server_error.html a http://example.com/errors/ idan aka sami kuskuren 500.
Ƙin Samun shiga Littafin Jagorar Yanar Gizo
Fayil ɗin .htaccess yana da umarnin Deny from all , wanda ke taimakawa hana samun dama ga wasu manyan fayiloli ko fayiloli akan sabar yanar gizonku. Wannan na iya zama da amfani idan kuna son ɓoye bayanan sirri ko mahimman fayiloli daga masu ziyartar shafin 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
Toshe adiresoshin IP da dama ana yin hakan ne ta hanyar kwafi layin " Hana daga " tare da adiresoshin da ake buƙata.
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 Hana daga duk , kuma don toshe adiresoshin ta hanyar abin rufe fuska, ƙayyade Hana daga 11.22.
Inda, 11.22 shine abin rufe adireshin IP.
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.
Hanya mafi yawan da ake amfani da ita wajen toshewa ta hanyar User-Agent ita ce amfani da 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
Modules na mod_deflate da mod_gzip a cikin Apache suna taimakawa wajen matse bayanai da uwar garken ke aikawa zuwa na'urorin masu amfani. Wannan yana sa fayilolin su ƙanƙanta, wanda hakan ke sa shafin ya yi sauri. Duk da haka, yana da mahimmanci a tuna cewa tallafi da daidaitawar waɗannan na'urori na iya bambanta dangane da uwar garken ku.
Misalin amfani da module na 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>
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. Za ku iya fahimtar dukkan damar fayil ɗin a cikin takaddun 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.