Dina artikel ieu, urang bakal ngajajah prinsip dasar ngagunakeun file .htaccess, nu krusial pikeun enhancing SEO. file ieu ensures indexing ditangtoskeun tina kaca ku mesin pencari. Urang bakal diajar kumaha ngatur alihan, ngonpigurasikeun kaamanan, sareng ningkatkeun kinerja. Salaku tambahan, kami bakal masihan tip ngeunaan cara ngonpigurasikeun file ieu sacara mandiri.
Naha .htaccess Diperlukeun
The .htaccess file tindakan minangka jenis "remote control" pikeun pamekar web on server Apache. Éta nawiskeun alat anu gampang pikeun nyaluyukeun sababaraha parameter sareng ngatur paripolah halaman wéb. Nalika aksés langsung kana file konfigurasi utama server urang teu sadia (sakumaha mindeng kasus kalawan virtual hosting, contona), .htaccess jadi alat mangpaat pikeun nyieun parobahan diperlukeun.
Htaccess sering aya dina polder akar situs anjeun atanapi dina polder dimana konfigurasi khusus diperyogikeun. Salaku conto, upami anjeun nganggo WordPress, konfigurasi tiasa dilakukeun ngalangkungan plugin Yoast SEO, anu kami bahas dina tulisan ngeunaan Ngonpigurasikeun robots.txt. Dina kasus séjén, éta cukup pikeun muka folder diperlukeun tur ngédit file .htaccess aya, atawa nyieun eta lamun teu acan dijieun.
Ngonpigurasikeun .htaccess File
301 alihan htaccess
A 301 alihan dina file .htaccess bisa likened ka redirection permanén dina ramatloka a. Éta ngawartosan mesin pencari sareng panyungsi yén halaman éta ayeuna permanén ayana di alamat énggal sareng nyarankeun ngamutahirkeun tetengger sareng indéks. Alihan sapertos biasana dianggo nalika halaman dipindahkeun atanapi dihapus pikeun ngawétkeun réngkingna dina hasil pamilarian sareng alihan sémah ka lokasi énggal.
Pikeun ngaktipkeun alihan, anjeun kedah ngaktipkeun paréntah anu aya dina file .htaccess:
RewriteEngine on
Saatos éta, anjeun tiasa ngonpigurasikeun bentuk alihan pangbasajanna:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
A alihan sarupa ngagunakeun RedirectPermanent diréktif kasampak kawas kieu:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Ieu mangrupikeun metode alihan anu paling gampang pikeun dikonpigurasikeun. Hayu urang nganggap konfigurasi anu nganggo jinis alihan anu langkung maju sareng mod_rewrite modul:
<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 alihan .htaccess, nunjukkeun relokasi samentara, anu encountered loba kurang remen. Ieu conto setelan sapertos kieu:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Diréktif ErrorDocument
Setélan ieu ngamungkinkeun anjeun ngadalikeun naon anu katingali ku pangguna nalika kasalahan HTTP lumangsung dina situs anjeun. Gantina pesen kasalahan standar, anjeun tiasa nunjukkeun halaman anjeun nyalira, anu bakal langkung informatif pikeun nganjang sareng ngabantosan aranjeunna ngartos naon anu kajantenan. Kantun turutan sintaksis ieu kanggo dianggo:
ErrorDocument <error_code> <URL_page>
Salaku conto,
ErrorDocument 404 /errors/not_found.html
Hartina lamun a 404 kasalahan lumangsung, kaca di /errors/not_found.html bakal dibuka. URL mutlak dieusian sami:
ErrorDocument 500 http://example.com/errors/server_error.html
Conto ieu nunjukkeun tampilan tina server_error.html halaman di http://example.com/errors/ dina acara a 500 kasalahan.
Nolak Aksés ka Diréktori Loka
file .htaccess boga paréntah Nolak ti sadayana, nu mantuan nolak aksés ka polder atawa payil nu tangtu dina server wéb anjeun. Ieu tiasa mangpaat upami anjeun hoyong nyumputkeun inpormasi pribadi atanapi file penting ti sémah situs pikeun mastikeun kaamanan data.
Pikeun nganonaktipkeun daptar (ningali sadaya diréktori anu sayogi), anjeun kedah nambihan garis:
Options -Indexes
Conto ngahalangan aksés ka diréktori khusus sapertos kieu:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Nya kitu, anjeun tiasa nampik aksés ka file tunggal:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Atawa pikeun sauntuyan file ku extension:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Blocking Aksés ku IP
Blocking aksés ku IP dina file .htaccess mangrupakeun metoda nu ngidinan Anjeun pikeun ngawatesan aksés ka ramatloka anjeun pikeun alamat IP husus atawa grup maranéhanana. Ieu tiasa mangpaat upami anjeun hoyong nyegah aksés kana situs anjeun atanapi bagian khususna pikeun jalma-jalma anu tangtu atanapi bot anu teu dihoyongkeun.
Ngablokir alamat IP tunggal dilakukeun ku paréntah:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Meungpeuk sababaraha alamat IP ogé dilakukeun ku cara duplikat "Nolak ti"baris sareng alamat anu diperyogikeun.
Pikeun meungpeuk sauntuyan alamat IP:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Pikeun ngidinan aksés ngan pikeun IP husus, tambahkeun kodeu:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Pikeun panolakan lengkep aksés, paké diréktif Nolak ti sadayana, jeung pikeun meungpeuk alamat ku topéng, tangtukeun Nolak ti 11.22.
Dimana, 11.22 nyaéta alamat IP topeng.
Blocking datang ku pamaké-Agen
Meungpeuk pamaké ku pamaké-Agen dina file .htaccess mangrupakeun metoda ngadalikeun saha bisa ngakses web server anjeun dumasar kana informasi ngeunaan browser nu nganjang ngagunakeun. String User-Agent ngandung data ngeunaan browser anu dianggo ku jalma pikeun berinteraksi sareng server anjeun, sareng hatur nuhun kana inpormasi ieu, anjeun tiasa ngawatesan aksés pikeun pangguna anu tangtu.
Cara anu paling umum pikeun meungpeuk ku Agen Pamaké nyaéta ngagunakeun 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>
Dina conto ieu:
- RewriteCond % {HTTP_USER_AGENT} dipaké pikeun mariksa string User-Agent.
- ^Bot1, ^Bot2, ^Bot3 conto string pamaké-Agen anu urang hoyong blokir. The modifiers NC nunjukkeun yén babandinganana kedah case-insensitive.
- RewriteRule ^.*$ - [F, L] manglaku ka pamundut lamun salah sahiji kaayaan RewriteCond anu patepung. Éta ngirimkeun réspon kalayan kode status 403 Dilarang (F) sareng ngeureunkeun aturan ngolah (L).
Caching dina htaccess
Ngonpigurasikeun cache ngaliwatan file .htaccess mantuan nyepetkeun situs anjeun ku sahingga muka gancang pikeun pamaké. Gawéna sapertos kieu: file tangtu, sapertos gambar, gaya CSS, sareng skrip JavaScript, disimpen dina cache browser pangguna saatos beban munggaran. Ayeuna panyungsi tiasa nganggo file ieu tina cache, tibatan ngamuat deui tina pangladén unggal waktos pangguna ngadatangan halaman. Ieu ngurangan waktu loading sarta ngaronjatkeun kinerja situs.
Pertimbangkeun conto:
# 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>
Pikeun sumber anu sering diropéa, sabalikna, perlu nganonaktipkeun cache:
# 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>
Optimizing Performance Loka
nu mod_deflate jeung mod_gzip modul di Apache mantuan ngompres informasi nu server ngirimkeun ka alat pamaké. Hal ieu ngajadikeun file leuwih leutik dina ukuran, nu giliran speed up kaca loading. Nanging, penting pikeun émut yén dukungan sareng konfigurasi modul ieu tiasa béda-béda gumantung kana server anjeun.
Conto ngagunakeun éta mod_deflate modul:
<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>
Conto pikeun 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>
Kami ngabahas arahan anu paling sering dianggo. Anjeun tiasa familiarize diri kalayan sagala kamampuhan file dina dokuméntasi resmi.
Kumaha Mariksa Fungsionalitas File .htaccess
Pikeun mariksa naha file .htaccess anjeun berpungsi dina situs, anjeun tiasa ngalakukeun léngkah-léngkah ieu:
- Ngahaja ngarobah file .htaccess kalawan kasalahan. Dina respon, server kedah masihan kasalahan. Metoda ieu nembongkeun naha operasi file sacara umum diterapkeun dina server.
- Pariksa pungsionalitas parobahan husus nu geus dijieun. Contona, nyieun adjustment minor ka salah sahiji parameter jeung assess ayana parobahan.
- Pariksa kode status kaca lamun parobahanana patali jeung respon server urang. Kumaha cara ngalakukeun ieu, kami parantos dijelaskeun dina tulisan Kode Kasalahan HTTP: daptar lengkep kasalahan server.
- Tingal kana log server. Aranjeunna nembongkeun sagala kasalahan patali operasi file .htaccess.
- Ngalaksanakeun tés nganggo jasa atanapi alat online.
Penting pikeun ngarti yén pikeun mariksa pungsionalitas file .htaccess, anjeun henteu kedah ngalakukeun sadaya léngkah sakaligus. Cukup pikeun milih metodeu anu paling cocog tina daptar sareng nganggo éta.
kacindekan
Ngonpigurasikeun file .htaccess mangrupikeun léngkah anu penting dina ngaoptimalkeun sareng ngajagi server Apache anjeun. Kami parantos ngajalajah kumaha file ieu ngabantosan ngatur alihan, ngompres eusi, sareng mastikeun kaamanan. Sakali anjeun ngawasa damel sareng .htaccess, anjeun kéngingkeun alat anu kuat pikeun ningkatkeun kinerja sareng fungsionalitas situs wéb.