Dasar-dasar Dari .htaccess

Artikel ditulis oleh:
  • Panduan Hosting
  • Diperbarui: Jun 29, 2013

Memahami File .htaccess Server adalah Komponen Kunci dari Desain dan Pengembangan Web

Sebagian besar klien web hosting amatir dan pengembang web baru menganggap bahwa bagian terpenting dari setiap pengaturan server adalah perangkat lunak yang diinstal. Mereka tergesa-gesa memasang aplikasi berbasis ASP atau berbasis PHP, dengan harapan menciptakan konten canggih yang dikendalikan oleh perangkat lunak populer dan sel dan tabel basis data yang ekstensif. Tetapi di tengah kesibukan aktivitas ini, hampir setiap pengembang awalnya mengabaikan salah satu file yang paling penting dan kuat di server itu sendiri. File itu dikenal sebagai file ".htaccess", dan ia mengendalikan semua bentuk pesan kesalahan ke halaman yang dilindungi kata sandi, struktur permalink untuk pengguna yang diblokir yang tidak dapat melihat konten situs.

File ".htaccess" berada di direktori publik root server secara default. Pada server Linux, direktori tersebut hampir selalu disebut "public_html." Untuk subfolder yang perlu mengambil manfaat dari kekuatan file ini, file ".htaccess" sekunder dapat ditempatkan dalam setiap subfolder dan direktori lain di server itu sendiri. Setiap file atau folder di dalam direktori dengan file ".htaccess" mewarisi izin dan panduan file itu kecuali diganti oleh versi file yang dikodekan secara terpisah. Jika kedengarannya rumit, itu karena merupakan teknik yang cukup maju untuk mengendalikan perilaku server. Namun, tidak mungkin untuk belajar. Dan sekali seorang pengembang atau pelanggan web hosting pemula belajar bagaimana mengontrol server mereka menggunakan file ini, mereka akan merasa tidak mungkin untuk kembali ke hari ketika file ".htaccess" adalah gangguan yang hampir tidak dipahami, apalagi digunakan.

Password Protecting Directories adalah Snap dengan File .htaccess

Keamanan server web hosting adalah sesuatu yang hampir setiap pelanggan terlihat sebelum mereka berkomitmen untuk perusahaan hosting atau teknologi server tertentu. Untuk sebagian besar, server Windows dan Linux sama-sama aman, menjaga informasi dari mereka yang tidak memilikinya. Tapi itu hanya berlaku sejauh membela terhadap peretas dan skrip web berbahaya. Ketika menyangkut kata sandi yang melindungi file atau direktori tertentu, semua pekerjaan harus dilakukan oleh file .htaccess terpisah dari teknologi atau fitur keamanan server.

File .htaccess memiliki gaya uniknya sendiri untuk melindungi direktori ini, seperti yang disusun oleh bahasa dan teknik pemrograman baris-demi-garis yang sederhana. Dalam hal ini, pengguna hanya mendefinisikan direktori yang akan dilindungi dan kemudian menetapkan parameter yang diperlukan untuk mengakses direktori itu dalam file itu sendiri. Kata sandi itu dapat diterapkan hanya ke satu file, ke seluruh direktori, atau ke seluruh server itu sendiri saat diakses melalui browser web biasa. Pengaturan satu baris sederhana dari file atau kata sandi direktori tampak seperti contoh di bawah ini ketika sudah sepenuhnya diisi dan dimulai.

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
Dasar AuthType
membutuhkan pengguna secureUser

Baris kode ini dipasangkan dengan file baru bernama ".htpasswd." File ini berada di direktori yang sedang diamankan dan berisi nama pengguna dan kata sandi yang akan memberi pengguna akses ke informasi yang dilindungi. Dalam contoh di atas, telah ditetapkan bahwa hanya pengguna "secureUser" yang dapat diberikan akses ke direktori, dan mereka harus memasukkan kata sandi yang diperlukan sebagaimana ditentukan oleh baris "AuthName EnterPassword" kode yang terletak sedikit di atas pengguna definisi.

Dalam file ".htpasswd" yang akan dibuat di direktori yang dilindungi, pengguna hanya perlu menambahkan satu baris kode. Formatnya sederhana; setiap kombinasi pengguna dan kata sandi dipisahkan menggunakan titik dua. Ini berarti mereka hanya akan menambahkan "pengguna: kata sandi" ke file. Dalam hal ini, itu akan menjadi "secureUser: secureirectorypassword1" sebagai contoh. Ini akan menentukan semua kode akses dan nama pengguna yang mungkin. Administrator situs tentu saja dapat menyertakan banyak pengguna dan kata sandi dalam daftar ini, selama menghapus pembedaan "require user secureUser" membentuk file ".htpasswd". Sebagai alternatif, mereka dapat menentukan banyak kata sandi untuk nama pengguna yang sama sambil mempertahankan baris kode tersebut, memastikan bahwa akses dapat dicabut dari individu atau kelompok tertentu kapan saja jika kata sandi yang tepat dihapus dari file ".htpasswd".

Untuk mempelajari lebih lanjut tentang masalah ini, baca: Menggunakan .htpasswd dengan Akun Shared Hosting Linux Anda.

Mendefinisikan Tautan yang Mudah Dipertimbangkan ke Konten Situs Web dan Halaman Statis

Salah satu penggunaan saat ini yang paling luas dari file ".htaccess" yang produktif adalah dengan menggunakan parameter file untuk mendefinisikan semantik-mudah "permalinks"untuk konten situs dan halaman statis saat menggunakan perangkat lunak manajemen konten seperti WordPress atau MovableType. Ini tidak hanya membantu pengguna mengingat dan memuat kembali konten situs, tetapi juga meningkatkan peringkat pencarian situs web di mesin pencari utama. Mesin pencari tersebut menggunakan URL semantis yang ramah untuk menentukan konten apa yang ada di halaman tertentu dan apakah konten cocok dengan URL. Kecocokan URL-judul menunjukkan lebih banyak otoritas dan kemungkinan lebih tinggi bahwa pengguna akan menemukan informasi yang mereka cari. Sesuai, situs web kemudian peringkat lebih tinggi pada mesin pencari utama saat menggunakan struktur permalink.

Bagi pengguna yang telah menginstal WordPress ke server situs mereka, baris berikut ditambahkan selama proses instalasi hampir sebagai persyaratan - terutama dengan versi perangkat lunak yang lebih baru dari versi 3.0 dan yang lebih baru. Baris kode terlihat persis seperti contoh di bawah ini dan merupakan standar untuk lebih dari 60 juta pelanggan WordPress yang dihosting sendiri di seluruh dunia.

RewriteEngine On
RewriteBase /
RewriteCond% {REQUEST_FILENAME}-f!
RewriteCond% {} REQUEST_FILENAME!-D
RewriteRule. /index.php [L]

Sekali lagi, mudah untuk melihat struktur baris-demi-baris dari ".htaccess" instruksi pemrograman file. Beberapa baris kode sederhana ini memberitahu server untuk menggunakan file "index.php" WordPress sebagai basis untuk semua URL yang berasal dari konten yang mengelola solusi perangkat lunak itu sendiri. Menggunakan file tersebut sebagai basis, dan menulis ulang judul entri sebagai permalinks, penulisan ulang URL pada dasarnya menggabungkan kueri basis data dengan izin file untuk membuat URL "ramah". Memodifikasi file ".htaccess" untuk menulis ulang URL-nya saat ini adalah cara utama, jika tidak hanya, membangun URL yang lebih bersahabat dari PHP dan solusi perangkat lunak manajemen konten berbasis ASP.

Memandu Mesin Pencari ke Konten yang Baru Saja Direlokasi Secara Lokal atau Jarak Jauh

Sementara permalinks dirancang untuk menghilangkan proses konten yang dipindahkan secara acak dan pengalihan intensif, mereka belum sepenuhnya menghilangkan masalah. Memang, permalinks dapat dikelola dalam panel kontrol solusi manajemen konten; saat seorang pengguna mengubah struktur permalink, segala sesuatu dalam lingkup perangkat lunak CMS dapat hilang dan menimbulkan kesalahan pada mesin pencari dan pengguna sama. Ini dapat dieliminasi sebagai masalah dengan baris yang sangat sederhana dari ".htaccess" kode yang mengarahkan pelanggan dan melempar kesalahan "tak terlihat" ke mesin pencari utama. Kodenya adalah ini:

Alihkan 301 / archive / / past-entries /

Pengalihan ini menempatkan URL lama dan baru bersebelahan dengan URL lama yang tercantum pertama. Ini menginstruksikan server untuk melemparkan kesalahan redirect 301 di browser dan mesin pencari "spider", tetapi kesalahan ini tidak pernah dilihat oleh pengguna akhir. Sebaliknya, pengalihan 301 adalah kesalahan tak terlihat yang terjadi di belakang layar. Meskipun pengguna secara otomatis diarahkan ke jalur baru dan konten baru, browser dan mesin pencari memahami bahwa "301" berarti "pindah secara permanen." Baik browser dan mesin pencari yang mengalami kesalahan ini akan segera memperbarui catatan mereka untuk mencerminkan URL baru dan mereka akan segera menghapus yang lama.

Ini adalah cara yang bagus untuk pindah ke nama domain baru tanpa kehilangan pelanggan juga. File ".htaccess" pada server lama dapat digunakan untuk benar-benar menunjuk pada konten pada nama domain yang benar-benar baru dengan hanya sedikit perubahan ke baris kode yang disajikan di atas. Alih-alih menunjuk ke dua path relatif pada server yang sama, kode redirection 301 dalam kasus ini akan terlihat seperti berikut:

Alihkan 301 / http://www.your-domain-name.com Anda

Ini menginstruksikan server untuk mengirim apa pun di direktori root, atau subfolder apa pun, ke nama domain baru di jalur yang sama persis seperti di server lama. Semua yang berubah adalah nama domain yang sebenarnya. Sekali lagi, karena menggunakan kode kesalahan 301, mesin pencari akan secara otomatis memperbarui catatan mereka untuk mencerminkan nama domain baru. Ini bukan hanya alat yang hebat untuk kegunaan, tetapi juga mencegah situs web kehilangan peringkat mesin pencarinya. Alih-alih memulai kembali, mesin pencari akan mengerti bahwa ini adalah situs web yang sama di lokasi baru. Mereka akan mempertahankan persepsi dan peringkat lama mereka, dan administrator akan sangat diuntungkan dengan menggunakan metode unik bergerak antar domain ini.

Dari Kesalahan Tak Terlihat dan Pengalihan ke Laman Kesalahan Aktual untuk Pengunjung Situs

Memang benar bahwa file ".htaccess" mengkhususkan diri dalam mengarahkan pengguna ke konten baru sementara tidak jelas memperbarui mesin telusur, tetapi file unik ini juga dapat digunakan untuk menampilkan halaman kesalahan tertentu ketika konten hilang, tidak dapat ditampilkan, atau dikodekan sedemikian cara kesalahan mencegah halaman dimuat sama sekali. Ini dilakukan dengan menentukan halaman tertentu untuk ditampilkan berdasarkan kode kesalahan tiga digit server. Kode-kode ini diintegrasikan ke dalam layanan seperti Apache dan IIS, jadi tidak ada kebutuhan nyata untuk konfigurasi di luar file ".htaccess". Contoh di bawah ini menangani halaman kesalahan paling umum di dunia, yang dikenal sebagai "kesalahan 404" untuk halaman dan direktori yang hilang.

ErrorDocument 404 /404.html

Setiap kali pengguna menemukan tautan yang tidak ada lagi, atau subfolder yang telah dihapus, mereka akan secara otomatis dialihkan oleh file ".htaccess" ke halaman kesalahan 404 yang informatif dan bermanfaat yang dapat dikustomisasi dan dirancang khusus oleh administrator situs web. Ini adalah cara yang bagus untuk membawa mereka kembali ke flip daripada mengirim mereka pergi dengan halaman kesalahan sederhana dan tidak mencolok yang tidak menawarkan alternatif ke halaman yang hilang.

Proses yang sama dapat diselesaikan untuk hampir setiap jenis kesalahan halaman-beban berbasis server yang ada. Ini termasuk kesalahan server 401, 403, dan 500 selain kesalahan "laman tidak ditemukan" yang sering ditemukan oleh sebagian besar pengguna. Pastikan untuk meneliti arti dari setiap kode kesalahan dan menyajikan pesan yang ditulis khusus dan desain situs untuk setiap kesalahan yang akan membawa pengguna kembali ke konten situs yang ada dengan mudah. Ini adalah cara terbaik untuk memastikan bahwa bahkan kegagalan navigasi atau logis sebuah situs diubah menjadi peluang dan keberhasilan.

Ketika Semua Lain Gagal, Batalkan Pengguna dengan Beberapa Kode Sederhana

Untuk sebagian besar, ".htaccess" file digunakan untuk hal-hal yang cenderung bekerja di rata-rata pengguna. Ini termasuk halaman kesalahan, metode pengalihan kustom, dan URL permalink "ramah", di antara fitur-fitur hebat lainnya. Tetapi file ini juga dapat digunakan untuk memastikan bahwa beberapa pengguna secara sederhana menolak akses ke situs web sepenuhnya. Ini cara yang bagus untuk melarang orang yang "spam" komentar situs, sering menyebabkan gangguan atau argumen di antara sesama pembaca, atau hanya tidak bisa menangani hak akses mereka dengan cara yang bertanggung jawab.

Untuk menjaga integritas situs dan memastikan bahwa pembaca lain tidak bermigrasi ke situs web lain karena frustrasi dengan hanya beberapa apel buruk, file ".htaccess" memungkinkan untuk melarang alamat IP tertentu atau seluruh rentang (atau "pemblokiran") alamat IP. Ini berarti bahwa seluruh negara dapat dilarang, seluruh ISP dapat dilarang, atau seluruh negara bagian, komunitas, atau organisasi dapat dipaksa pergi ke tempat lain untuk membaca konten harian mereka dan menimbulkan masalah. Ketika digunakan dalam file ".htaccess" situs, proses pelarangan pengguna terlihat seperti ini:

memungkinkan dari semua
menyangkal dari 158.23.144.12
menyangkal dari 24.100

Dalam contoh di atas, situs ini diperintahkan untuk memungkinkan pengunjung dari semua alamat IP, kecuali mereka yang mengunjungi dari alamat IP 158.23.144.12. Selain itu, semua pengunjung dalam rentang alamat IP 24.100 ditolak akses ke situs. Rentang ini mungkin melarang seluruh basis pelanggan penyedia layanan internet membaca konten situs. Namun, yakinlah bahwa ini kadang-kadang diperlukan dalam kasus yang mengerikan.

Merangkul File .htaccess dan Menghasilkan Beberapa Kekuatan Lebih dari Fungsi Situs

Hal yang hebat tentang file .htaccess adalah memungkinkan administrator server untuk mengontrol pengaturan yang dianggap sangat maju atau yang memerlukan akses "root" ke server. File ini adalah cara hebat untuk mengelola akses, kesalahan, pengalihan, dan bahkan struktur URL dan arti semantik. Menguasai itu adalah kunci untuk melindungi dan memberdayakan pengunjung baru dan kembali situs.

Artikel oleh Jerry Low

Ayah, Geek, pecandu data SEO, investor, dan pendiri Web Hosting Secret Revealed. Jerry telah membangun aset internet dan menghasilkan uang secara online sejak 2004. Dia suka mencoret-coret dan mencoba makanan baru.