Ing artikel iki, kita bakal njelajah prinsip dhasar nggunakake file .htaccess, sing penting kanggo nambah SEO. Berkas iki njamin indeksasi kaca kanthi bener dening mesin telusur. Kita bakal sinau carane ngatur pangalihan, ngatur keamanan, lan ngedongkrak kinerja. Kajaba iku, kita bakal menehi tips babagan carane ngatur file iki kanthi mandiri.
Apa .htaccess Perlu
File .htaccess tumindak minangka "remote control" kanggo pangembang web ing server Apache. Nawakake alat sing trep kanggo nyetel macem-macem parameter lan ngatur prilaku situs web. Nalika akses langsung menyang file konfigurasi utama server ora kasedhiya (kaya asring kasus karo hosting virtual, contone), .htaccess dadi alat migunani kanggo nggawe owah-owahan perlu.
Htaccess asring ana ing folder root situs sampeyan utawa ing folder sing mbutuhake konfigurasi khusus. Contone, yen sampeyan nggunakake WordPress, konfigurasi bisa ditindakake liwat plugin Yoast SEO, sing kita rembugan ing artikel ing Konfigurasi robots.txt. Ing kasus liyane, cukup kanggo pindhah menyang folder sing dibutuhake lan ngowahi file .htaccess sing wis ana, utawa nggawe yen durung digawe.
Konfigurasi File .htaccess
301 Pangalihan htaccess
Pangalihan 301 ing file .htaccess bisa diumpamakake minangka pangalihan permanen ing situs web. Iki ngandhani mesin telusur lan browser manawa kaca kasebut saiki permanen ana ing alamat anyar lan nyaranake nganyari tetenger lan indeksasi. Pangalihan kasebut biasane digunakake nalika kaca dipindhah utawa dibusak kanggo njaga peringkat ing asil panelusuran lan ngarahake pengunjung menyang lokasi anyar.
Kanggo ngaktifake pangalihan, sampeyan kudu ngaktifake printah sing cocog ing file .htaccess:
RewriteEngine on
Sawise iku, sampeyan bisa ngatur wangun pangalihan sing paling gampang:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Pangalihan sing padha nggunakake PangalihanPermanen arahan katon kaya iki:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Iki minangka cara pangalihan paling gampang kanggo ngatur. Ayo dipikirake konfigurasi sing nggunakake jinis pangalihan liyane sing luwih maju karo file 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 pangalihan .htaccess, nuduhake relokasi sementara, ditemoni luwih jarang. Punika conto setelan kasebut:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Direktif ErrorDocument
Setelan iki ngidini sampeyan ngontrol apa sing dideleng pangguna nalika ana kesalahan HTTP ing situs sampeyan. Tinimbang pesen kesalahan standar, sampeyan bisa nuduhake kaca sampeyan dhewe, sing bakal luwih informatif kanggo pengunjung lan mbantu dheweke ngerti apa sing kedadeyan. Mung tindakake sintaks iki kanggo nggunakake:
ErrorDocument <error_code> <URL_page>
Tuladhane,
ErrorDocument 404 /errors/not_found.html
Tegese nalika a 404 ana kesalahan, kaca ing /errors/not_found.html bakal dibukak. URL mutlak ditetepake kanthi cara sing padha:
ErrorDocument 500 http://example.com/errors/server_error.html
Conto iki nuduhake tampilan saka server_error.html kaca ing http://example.com/errors/ ing acara a 500 kesalahan.
Nolak Akses menyang Direktori Situs
File .htaccess nduweni printah Nolak saka kabeh, sing mbantu nolak akses menyang folder utawa file tartamtu ing server web sampeyan. Iki bisa migunani yen sampeyan pengin ndhelikake informasi pribadi utawa file penting saka pengunjung situs kanggo njamin keamanan data.
Kanggo mateni dhaptar (ndeleng kabeh direktori sing kasedhiya), sampeyan kudu nambah baris:
Options -Indexes
Conto mblokir akses menyang direktori tartamtu katon kaya iki:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Kajaba iku, sampeyan bisa nolak akses menyang file siji:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Utawa kanggo sawetara file kanthi ekstensi:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Mblokir Akses dening IP
Watesan akses kanthi IP ing file .htaccess minangka cara sing ngidini sampeyan mbatesi akses menyang situs web kanggo alamat IP tartamtu utawa grup. Iki bisa migunani yen sampeyan pengin nyegah akses menyang situs sampeyan utawa bagean tartamtu kanggo wong tartamtu utawa bot sing ora dikarepake.
Mblokir alamat IP siji ditindakake kanthi prentah:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Pamblokiran sawetara alamat IP ditindakake kanthi cara sing padha kanthi duplikat "Nolak saka"baris karo alamat sing dibutuhake.
Kanggo mblokir sawetara alamat IP:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Kanggo ngidini akses mung kanggo IP tartamtu, tambahake kode:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Kanggo nolak akses lengkap, gunakake arahan kasebut Nolak saka kabeh, lan kanggo mblokir alamat kanthi topeng, temtokake Nolak saka 11.22.
Ngendi, 11.22 yaiku alamat IP mask.
Watesan Pengunjung dening Agen Panganggo
Watesan pangguna dening Agen-Pengguna ing file .htaccess minangka cara kanggo ngontrol sapa sing bisa ngakses server web sampeyan adhedhasar informasi babagan browser sing digunakake pengunjung. String User-Agent ngemot data babagan browser sing digunakake wong kanggo sesambungan karo server, lan thanks kanggo informasi iki, sampeyan bisa matesi akses kanggo pangguna tartamtu.
Cara sing paling umum kanggo mblokir pangguna-Agen yaiku nggunakake 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>
Ing conto iki:
- RewriteCond % {HTTP_USER_AGENT} digunakake kanggo mriksa string User-Agent.
- ^Bot1, ^Bot2, ^Bot3 minangka conto string User-Agent sing pengin diblokir. Modifiers NC nuduhake yen comparison kudu cilik-sensitif.
- RewriteRule ^.*$ - [F,L] ditrapake kanggo panjalukan yen ana kondisi RewriteCond sing ketemu. Iku ngirim respon karo 403 kode status pareng (F) lan mungkasi aturan Processing (L).
Caching ing htaccess
Konfigurasi caching liwat file .htaccess mbantu nyepetake situs sampeyan kanthi mbukak luwih cepet kanggo pangguna. Kerjane kaya iki: file tartamtu, kayata gambar, gaya CSS, lan skrip JavaScript, disimpen ing cache browser pangguna sawise mbukak pisanan. Saiki browser bisa nggunakake file kasebut saka cache, tinimbang ngisi maneh saka server saben pangguna ngunjungi kaca. Iki nyuda wektu loading lan nambah kinerja situs.
Coba 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>
Kanggo sumber daya sing kerep dianyari, ing sisih liya, perlu mateni 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>
Ngoptimalake Kinerja Situs
The mod_deflate lan mod_gzip modul ing Apache mbantu ngompres informasi sing dikirim server menyang piranti pangguna. Iki nggawe ukuran file luwih cilik, sing bakal nyepetake loading kaca. Nanging, penting kanggo elinga manawa dhukungan lan konfigurasi modul kasebut bisa beda-beda gumantung saka server sampeyan.
Tuladha nggunakake ing 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>
Tuladha kanggo 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>
Kita ngrembug arahan sing paling umum digunakake. Sampeyan bisa familiarize dhewe karo kabeh kemampuan file ing dokumentasi resmi.
Cara Priksa Fungsi File .htaccess
Kanggo mriksa apa file .htaccess sampeyan bisa digunakake ing situs kasebut, sampeyan bisa nindakake langkah-langkah ing ngisor iki:
- Sengaja ngganti file .htaccess kanthi kesalahan. Nanggepi, server kudu menehi kesalahan. Cara iki nuduhake apa operasi file umume ditrapake ing server.
- Priksa fungsi pangowahan tartamtu sing wis digawe. Contone, nggawe pangaturan cilik kanggo salah siji paramèter lan netepke anané owah-owahan.
- Priksa kode status kaca yen owah-owahan ana hubungane karo respon server. Carane nindakake iki, kita wis diterangake sadurunge ing artikel Kode Kesalahan HTTP: dhaptar lengkap kesalahan server.
- Deleng log server. Dheweke nampilake kabeh kesalahan sing ana gandhengane karo operasi file .htaccess.
- Nindakake tes nggunakake layanan utawa alat online.
Penting kanggo mangerteni yen kanggo mriksa fungsi file .htaccess, sampeyan ora perlu nindakake kabeh langkah bebarengan. Cukup milih cara sing paling cocog saka dhaptar lan gunakake.
kesimpulan
Konfigurasi file .htaccess minangka langkah penting kanggo ngoptimalake lan nglindhungi server Apache sampeyan. Kita wis njelajah carane file iki mbantu ngatur pangalihan, kompres isi, lan njamin keamanan. Sawise sampeyan nguwasani nggarap .htaccess, sampeyan entuk alat sing kuat kanggo ningkatake kinerja lan fungsionalitas situs web.