Panduan utama untuk file .htaccess WordPress

Diterbitkan: 2022-08-10

Saya benar-benar tidak mudah dimengerti: kode default saya terlihat seperti bahasa Cina.

Saya menonjol karena penampilan tunggal saya, karena nama saya tidak memiliki ekstensi.

Saya juga memiliki kekuatan magis. Jika Anda mengatur saya dengan benar, saya mampu melakukan hal berikut:

  • Meningkatkan keamanan situs web Anda.
  • Meningkatkan kecepatan memuat halaman Anda.
  • Menyiapkan pengalihan.
  • Membatasi spam.
  • Dan bahkan membuat beberapa lelucon: itulah sisi nakal saya.
Betulkah?!
Candaan? Betulkah?

Kamu masih belum tahu siapa aku? Saya adalah file .htaccess dari situs WordPress Anda. Mari mengenal saya lebih baik dalam panduan ini tentang cara saya bekerja.

Sepanjang baris ini, Anda akan menemukan lebih dari tiga puluh pedoman untuk mengkonfigurasi saya. Mereka diwujudkan dalam bentuk potongan kode siap pakai, yang hanya perlu Anda salin dan tempel di rumah.

Baca terus, Anda tidak akan kecewa!

Ringkasan

  1. Apa itu file .htaccess?
    1. Bagaimana cara kerja file .htaccess?
      1. Cara membuat file .htaccess
        1. Tindakan pencegahan sebelum menyesuaikan file .htaccess
          1. Cara memodifikasi file .htaccess Anda dengan benar.
            1. Bagaimana cara menyesuaikan file .htaccess di root situs web?
              1. Cara menyesuaikan file .htaccess di wp-admin
                1. Bagaimana cara menyesuaikan file .htaccess di wp-includes?
                  1. Bagaimana cara menyesuaikan file .htaccess di wp-content?
                    1. Bagaimana cara menyesuaikan file .htaccess di wp-content/uploads?
                      1. Rekap terakhir pada file .htacess di WordPress

                        Awalnya ditulis pada Oktober 2015, artikel ini terakhir diperbarui pada Juli 2022.

                        Proyek WordPress terbaik Anda membutuhkan host terbaik!

                        WPMarmite merekomendasikan Bluehost: kinerja hebat, dukungan hebat. Semua yang Anda butuhkan untuk awal yang baik.

                        Coba Bluehost
                        CTA Bluehost WPMarmite

                        Apa itu file .htaccess?

                        File .htaccess adalah file konfigurasi untuk Apache, perangkat lunak yang digunakan sebagian besar server web untuk dijalankan. Isi file ini akan memberikan arahan ke Apache sehingga server berperilaku dengan cara tertentu.

                        Hati-hati, beberapa web host hanya berjalan di server NGINX. Ini adalah kasus Flywheel, misalnya. Mereka tidak memiliki file .htaccess .

                        Hampir semua situs web yang menggunakan WordPress memiliki file .htaccess . Faktanya, WordPress membuatnya secara otomatis selama instalasi, untuk memasukkan pengaturan permalink untuk situs web.

                        Saat Anda masuk ke Pengaturan > Tautan Perma untuk memilih format URL (biasanya "Nama posting"), file .htaccess dimodifikasi.

                        Bagaimana cara kerja file .htaccess?

                        Anda harus tahu bahwa sebuah situs web dapat memiliki beberapa file .htaccess .

                        Pertama, ada file .htaccess utama, yang terletak di root situs web.

                        Akar situs web adalah tempat file WordPress ( wp-admin , wp-includes dan wp-content folder ditambah beberapa file lainnya) berada di server Anda. Anda dapat mengaksesnya dengan menghubungkan ke klien FTP Anda, misalnya. Nama folder root ini dapat bervariasi tergantung pada penyedia hosting Anda. Misalnya, ini disebut public_html dengan Bluehost (tautan afiliasi) dan www dengan OVH.

                        Isi file .htaccess utama akan mempengaruhi seluruh situs web.

                        File .htaccess lainnya dapat dibuat di subdirektori. Dalam kasus WordPress, seseorang dapat ditempatkan di wp-admin atau wp-content/uploads , misalnya.

                        File .htaccess sekunder akan mempengaruhi direktori di mana mereka berada, serta subdirektori mereka.

                        Jika kita membayangkan bahwa file .htaccess ada di wp-content/uploads , direktori uploads dan semua subdirektorinya akan terpengaruh oleh apa yang didefinisikan dalam file .htaccess .

                        Cara membuat file .htaccess

                        Logikanya, situs web Anda harus memiliki setidaknya satu file .htaccess , yang terletak di akar situs web Anda. Anda dapat mengeditnya menggunakan editor kode favorit Anda (Sublime Text, Brackets, Notepad++, Coda, dll.).

                        Ada solusi lain, seperti plugin Htaccess File Editor, untuk mengeditnya langsung dari dashboard WordPress Anda.

                        Namun, jika ada masalah, Anda harus melalui klien FTP dan editor kode, jadi sebaiknya Anda melakukannya secara langsung dengan tangan.

                        Jika Anda perlu menambahkan file .htaccess ke subdirektori, ikuti petunjuk berikut.

                        Buat file .htaccess dari komputer Anda

                        1. Buat file teks baru dan beri nama htaccess.txt .
                        2. Edit sesuai keinginan.
                        3. Kirim ke root server Anda.
                        4. Ganti namanya .htaccess .
                        File .htaccess pada perangkat lunak FTP.

                        Buat file .htaccess dari server Anda

                        1. Klik kanan di direktori di mana seharusnya.
                        2. Tambahkan file baru dan beri nama .htaccess.
                        3. Edit dengan editor kode Anda (Notepad++, Coda, Sublime Text atau lainnya).

                        Selamat, Anda sekarang tahu untuk apa file .htaccess dan bagaimana cara membuatnya. Sebelum Anda mengetahui pedoman apa yang dapat Anda tambahkan, ingatlah untuk berhati-hati!

                        Awasi mata Anda, itu mungkin menyengat!

                        Tindakan pencegahan sebelum menyesuaikan file .htaccess

                        Menyesuaikan kode file .htaccess cukup mudah (terutama dengan cuplikan kode yang ditawarkan di sisa artikel ini), tetapi Anda tetap tidak boleh masuk ke dalamnya dengan senjata api.

                        Sebelum membuat perubahan apa pun, saya sarankan Anda membuat cadangan situs WordPress Anda terlebih dahulu. Untuk ini, Anda dapat menggunakan plugin khusus seperti UpdraftPlus.

                        Selanjutnya, simpan konten awal file .htaccess Anda. Untuk melakukan ini, Anda dapat:

                        • Gandakan file .htaccess di server Anda menjadi .htaccess-initial .
                        • Salin konten file ke file teks, di komputer Anda.

                        Jika Anda memiliki masalah, Anda dapat dengan mudah mengembalikan konten asli.

                        Cara memodifikasi file .htaccess Anda dengan benar.

                        Untuk melakukan perubahan, ikuti prosedur di bawah ini:

                        • Buka file di editor kode Anda.
                        • Tempatkan tambahan Anda di file.
                        • Simpan itu.
                        • Perbarui situs web Anda untuk melihat apakah semuanya baik-baik saja.

                        Menyegarkan situs web Anda sangat penting: ini akan membantu untuk melihat apakah ada masalah dengan kode yang ditambahkan.

                        Secara umum akan muncul error 500 “Internal Server Error” di layar, jika ada masalah:

                        500 Contoh Kesalahan Server Internal.

                        Dalam hal ini, batalkan perubahan Anda dan simpan lagi. Semuanya harus kembali normal.

                        Terkadang, beberapa host tidak menerima kode tertentu dalam file .htaccess

                        Anda harus menghadapinya.

                        Hubungi layanan pelanggan host Anda untuk mengetahui lebih lanjut. Mudah-mudahan, itu hanya perlu sedikit modifikasi untuk membuatnya berfungsi.

                        Apakah Anda mengalami kesalahan WordPress, seperti kesalahan 500 yang umum dan tersebar luas? WPMarmite menawarkan panduan komprehensif untuk menyelesaikan yang utama.

                        Kali ini, semuanya baik-baik saja. Anda tahu cara kerja file .htaccess , cara membuat dan mengeditnya dengan benar.

                        Sekarang cari tahu cara menyesuaikannya di 5 tempat berbeda:

                        1. Di akar situs web
                        2. Di wp-admin
                        3. Dalam wp-includes
                        4. Dalam wp-content
                        5. Di wp-content/uploads

                        Mari kita mulai segera dengan root situs web. Anda akan lihat, ini akan menjadi bagian yang paling konsisten.

                        Seperti di setiap bahasa komputer, file .htaccess memungkinkan Anda untuk memasukkan komentar. Untuk melakukan ini, cukup tempatkan simbol # di awal baris sehingga baris diabaikan. Ini sangat berguna untuk mengingat kinerja baris kode. Anda akan melihat komentar dalam contoh di artikel ini.

                        Bagaimana cara menyesuaikan file .htaccess di root situs web?

                        Jika instalasi Anda berjalan dengan baik, Anda akan menemukan file .htaccess di root situs web Anda. Ini akan berisi kode berikut:

                         # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\. php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
                        Kode default file .htaccess WordPress

                        Jika Anda menggunakan WordPress dalam mode multisite, kode default file .htaccess akan berbeda. Ini tidak akan mempengaruhi Anda dalam banyak kasus.

                        Sekarang setelah Anda menemukan file ini, Anda dapat menyempurnakan isinya dengan cuplikan kode di bawah ini untuk menyelesaikan beberapa hal tertentu. Ini bisa tentang keamanan, tetapi juga hal-hal lain.

                        Pastikan untuk tidak menyertakan kode apa pun di antara komentar # BEGIN WordPress dan # END WordPress karena ada kemungkinan kode ini akan dimodifikasi dalam beberapa kasus.

                        Pengingat lain: simpan file .htaccess asli Anda sebelum membuat perubahan apa pun. Anda harus dapat kembali jika Anda memiliki masalah.

                        Nonaktifkan direktori tampilan

                        Secara default, jika Anda mencoba mengakses direktori situs web, server akan menampilkannya. Pemformatan akan terlihat seperti ini:

                        Indeks /wp-include

                        Anda dapat membayangkan bahwa ini adalah roti dan mentega bagi para peretas. Fakta bahwa mereka dapat melihat file di situs web Anda akan membantu mereka untuk dapat menyerangnya dengan lebih baik. Masukkan kode berikut ke dalam file .htaccess Anda untuk melindungi situs web Anda:

                         # Disable display of directory contents Options All -Indexes

                        Dimungkinkan juga untuk menggunakan kode ini untuk mencegah daftar direktori:

                         # Alternative to prevent directory listing IndexIgnore *

                        Sembunyikan informasi server

                        Dengan beberapa penyedia hosting, halaman yang ditampilkan mungkin berisi informasi server. Informasi ini dapat memberikan rincian kepada penyerang potensial.

                        Oleh karena itu, yang terbaik adalah menyembunyikannya dengan kode berikut:

                         # Hide the information from server ServerSignature Off

                        Aktifkan tautan simbolis berikut

                        Saya pasti berbicara omong kosong kepada Anda, tetapi penting untuk memasukkan baris kode ini ke file .htaccess utama Anda:

                         # Enable following symbolic links Options +FollowSymLinks

                        Ini akan memungkinkan server Anda untuk mengikuti apa yang disebut tautan simbolik, yaitu kode pendek.

                        Atur server Anda ke waktu yang tepat

                        Ini tidak terlalu penting, tetapi jika server Anda berada di luar negeri, Anda dapat mengaturnya ke zona waktu Anda dengan baris kode ini:

                         # Choose time zone SetEnv TZ America/New_York

                        Setel pengkodean karakter default

                        Kode berikut memungkinkan Anda untuk mengatur pengkodean karakter untuk teks dan file HTML sebagai UTF-8 (pengkodean karakter komputer). Tanpa ini, ada risiko bahwa aksen akan disalahpahami.

                         # Default encoding of text and HTML files AddDefaultCharset UTF-8

                        Lindungi wp-config.php

                        File konfigurasi untuk situs web Anda ( wp-config.php ) berisi kredensial untuk terhubung ke database.

                        Ini adalah file paling sensitif di situs web Anda. Ini bisa menjadi target peretas potensial. Itu dapat dilindungi dengan menambahkan kode ini ke file .htaccess utama:

                         # Protect the wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

                        Lindungi file .htaccess itu sendiri

                        Seperti wp-config.php , file .htaccess harus dilindungi sepenuhnya. Untuk melakukannya, masukkan kode ini:

                         # Protect .htaccess and .htpasswds files <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>

                        Batasi komentar spam

                        Anda mengetahuinya sama seperti saya jika Anda memiliki blog, komentar spam sangat menyebalkan.

                        Untungnya, ada trik untuk mencegahnya langsung di file .htaccess . Ini bukan perbaikan cepat tetapi, dikombinasikan dengan plugin Akismet, sebagian besar spam harus disaring.

                         # Avoid comment spam <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.mywebsite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>

                        Jangan lupa untuk mengganti mywebsite.com dengan nama domain Anda.

                        Bergabunglah dengan pelanggan WPMarmite

                        Dapatkan posting WPMarmite terakhir (dan juga sumber daya eksklusif).

                        BERLANGGANAN SEKARANG
                        Buletin bahasa Inggris WPMarmite

                        Hindari deteksi ID penulis

                        Bahkan jika Anda menggunakan login pengguna yang kompleks, itu masih dapat dideteksi.

                        Tentu saja, saya berasumsi Anda belum menampilkannya secara publik dengan tema Anda (itu bisa terjadi).

                        Coba ketik mywebsite.com/?author=x ganti x dengan 1 untuk administrator atau ID salah satu penulis Anda. Jika Anda tidak dilindungi, Anda akan diarahkan ke halaman seperti mywebsite.com/author/author_id .

                        Begitulah cara Anda menemukan ID pengguna dalam dua detik. Dari sana, yang tersisa hanyalah mencoba menebak kata sandi Anda.

                        Untuk melindungi diri Anda dari teknik ini, gunakan kode berikut:

                         # Prevent the detection of an author's ID <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>

                        Nonaktifkan hotlinking gambar Anda

                        Apa sih hotlinking itu? Jangan khawatir, saya akan menjelaskan semuanya.

                        Pada dasarnya, setelah Anda menambahkan gambar ke situs web Anda (misalnya dalam sebuah artikel), siapa pun dapat menyalin URL salah satu gambar Anda, dan menampilkannya di situs web mereka.

                        Anda mungkin berpikir bahwa ini tidak terlalu buruk, tetapi jika karena alasan tertentu situs web yang sangat diikuti mengambil gambar Anda dan menampilkannya di salah satu halamannya, permintaan akan dibuat ke server Anda.

                        Hotlinking sebenarnya mencuri bandwidth . Jika situs web Anda diinstal pada server bersama kecil, host Anda mungkin tidak menghargainya karena sumber daya terbatas.

                        Untuk menghindari masalah, masukkan dan sesuaikan kode ini di file .htaccess Anda:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Ganti mywebsite.com dengan nama domain Anda

                        Untuk mengizinkan situs web tertentu menampilkan gambar Anda, gunakan kode berikut:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Ganti mywebsite.com, mywebsite2.com dan mywebsite3.com dengan domain pilihan Anda

                        Anda juga dapat menyesuaikan gambar yang akan ditampilkan sebagai pengganti gambar yang diminta. Saya menambahkan sesuatu yang sederhana, tetapi Anda bisa lebih kreatif.

                        Larangan alamat IP

                        Jika Anda memperhatikan bahwa beberapa alamat IP mencoba masuk ke administrasi situs web Anda terlalu sering (misalnya dengan plugin Penguncian Masuk), Anda dapat menyingkirkannya dengan melarang alamat IP mereka.

                        Anda juga memiliki kemungkinan untuk mengambil alamat IP dari spammer komentar untuk melarang mereka dari situs web Anda.

                        Solusi ini tidak permanen karena penyerang Anda dapat mengubah alamat IP, tetapi mungkin berhasil terhadap individu yang kurang terampil.

                         # Ban an IP address <Limit GET POST> order allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>
                        Ganti xxx.xxx.xxx.xxx dengan alamat IP yang akan diblokir

                        Blokir pengunjung dari situs web tertentu

                        Jika Anda menyadari bahwa situs web yang tidak patuh telah ditautkan ke situs Anda, dan Anda tidak ingin pengunjung dari situs web tersebut memiliki akses ke situs web Anda, gunakan kode ini:

                         # Prevent visitors to these sites from accessing yours <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} mywebsite1.com [NC,OR] RewriteCond %{HTTP_REFERER} mywebsite2.com [NC,OR] RewriteRule .* - [F] </ifModule>
                        Ganti mywebsite1.com dan mywebsite2.com dengan situs web pilihan Anda

                        Arahkan pengunjung dari satu situs web ke situs web lainnya

                        Untuk mengambil tip sebelumnya selangkah lebih maju, Anda dapat mengarahkan pengunjung dari situs web tertentu ke situs web lain.

                        Berikut kode untuk digunakan:

                         # Redirect visitors from one site to another RewriteEngine on RewriteCond %{HTTP_REFERER} sourcewebsite\.com/ RewriteRule ^(.*)$ http://www.destinationwebsite.com [R=301,L]
                        Ganti situs web sumber dan tujuan dengan pilihan Anda

                        Buat pengalihan

                        File .htaccess memungkinkan Anda untuk melakukan pengalihan (redirect URL A ke URL B).

                        Ini berguna untuk mengarahkan ulang beberapa halaman, tetapi jika Anda ingin membuat banyak pengalihan, saya merekomendasikan plugin Pengalihan WordPress, yang saya perkenalkan di artikel ini.

                        Cara membuat pengalihan di file .htaccess :

                         # Redirection of any page Redirect 301 /oldpage/ http://www.mywebsite.com/newpage # Redirection of a new category (with renaming from category to topic) Redirect 301 /category/technology/ http://www.mywebsite.com/topic/techno/

                        Redirect alamat tanpa www menjadi satu dengan www

                        Saat membuat situs web, salah satu tindakan yang harus dilakukan pertama adalah mengarahkan ulang situs web tanpa www ke versi dengan www (atau sebaliknya).

                        Jika Anda melakukan pengujian saat berikutnya Anda membuat situs web, Anda akan menemukan bahwa kedua alamat tersebut tidak selalu tertaut ke situs web Anda.

                        Dalam beberapa kasus, perusahaan hosting akan mengurus ini secara otomatis, atau harus diaktifkan melalui halaman admin di situs web hosting (seperti halnya Gandi, misalnya).

                        Jika Anda perlu melakukan redirection ini secara manual, gunakan kode berikut dengan mengganti mywebsite.com dengan website Anda:

                         # Redirection of site without www to www RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite. com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
                        Ganti mywebsite.com dengan nama domain Anda

                        Redirect alamat dengan www ke satu tanpa www

                        Di sisi lain, jika Anda tidak ingin www di depan nama situs web Anda (seperti halnya WPMarmite), Anda dapat mengarahkan ulang ke versi tanpa www .

                        Masukkan kode berikut ke dalam file .htaccess :

                        Peringatan : Jangan gunakan kode ini dengan kode sebelumnya atau situs web Anda akan mengalami redirect loop (karena versi tanpa www akan dialihkan ke versi dengan www yang akan dialihkan ke versi tanpa www , dll.).

                        Alihkan ke HTTPS

                        Jika Anda telah menyiapkan sertifikat SSL di situs web Anda untuk mengalihkannya ke HTTPS, Anda harus yakin bahwa semua pengunjung Anda menjelajahi versi aman situs web Anda.

                        Jika tidak, informasi sensitif dapat dipulihkan oleh peretas (data pribadi atau perbankan, misalnya).

                        Gunakan kode berikut untuk mengalihkan seluruh situs web Anda ke HTTPS:

                         # Redirection to HTTPS RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(. *)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

                        Unduh paksa file tertentu

                        Saat Anda ingin mengunduh file dari situs web, browser Anda terkadang mencoba membukanya untuk menampilkannya.

                        Secara pribadi, saya merasa ini nyaman untuk file PDF. Di sisi lain, sangat tidak menyenangkan untuk jenis file lain.

                        Masukkan kode berikut untuk membuat pengunjung Anda mengunduh file dengan ekstensi ini secara langsung (modifikasi sesuka Anda):

                         # Force download for these file types AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4

                        Buat halaman pemeliharaan khusus

                        Di artikel sebelumnya, Anda menemukan pilihan plugin pemeliharaan. Namun, ada kasus di mana halaman pemeliharaan tidak dapat ditampilkan.

                        Itu menjengkelkan, bukan?

                        Untuk mendapatkan halaman pemeliharaan, Anda dapat menggunakan kode berikut:

                         # Maintenance page RewriteEngine on RewriteCond %{REQUEST_URI} ! /maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx RewriteRule $ /maintenance.html [R=302,L]

                        Agar ini berfungsi, Anda perlu:

                        • Buat file maintenance.html dengan konten yang menunjukkan bahwa situs web sedang dalam pemeliharaan.
                        • Tambahkan alamat IP Anda di baris 4 (pastikan untuk menyimpan “ \ “) agar Anda dapat mengakses situs web (cari tahu alamat IP Anda di situs web ini).

                        Saat pemeliharaan selesai, letakkan “ # ” di depan setiap baris untuk menyampaikannya sebagai komentar.

                        Aktifkan caching

                        File .htaccess memungkinkan Anda untuk men-cache file tertentu di situs web Anda di browser pengunjung Anda sehingga memuat lebih cepat.

                        Memang, browser tidak perlu mengunduh ulang file di cache-nya.

                        Untuk melakukannya, masukkan kode berikut:

                         # Caching of files in the browser <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType application/javascript "access plus 6 month" ExpiresByType application/x-shockwave-flash "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" </IfModule> # Headers Header unset ETag FileETag None <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule>

                        Caching file akan efektif selama durasi yang ditentukan untuk setiap jenis file atau sampai pengunjung mengosongkan cache-nya.

                        Untuk mempercepat situs web Anda dengan caching, saya sarankan menggunakan plugin WP Rocket premium (tautan afiliasi). Karena sederhana dan cepat disiapkan, ini sempurna untuk pemula di WordPress. Dengan bantuannya, Anda tidak perlu menggunakan potongan (potongan kode) yang ditawarkan di atas.

                        Percepat situs web Anda dengan WP Rocket

                        Ubah situs Anda menjadi roket dengan plugin caching paling kuat yang diakui oleh para ahli WordPress.
                        Coba WP Rocket
                        Logo WP Rocket

                        Aktifkan kompresi

                        Selain semua yang telah kita lihat sejauh ini, beberapa sumber daya dapat dikompres sebelum dipindahkan dari server ke browser.

                        Dan kompresi file berarti kecepatan memuat halaman lebih cepat. Jadi saya sarankan Anda menerapkan kode ini untuk meningkatkan kecepatan situs web Anda:

                         # Compression of static files <IfModule mod_deflate. c> AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x- javascript text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\. 0 [678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \. (?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=! dont- vary </IfModule> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json

                        Nonaktifkan akses ke skrip tertentu

                        Agar berfungsi, WordPress menggunakan skrip yang terletak di wp-includes . Namun, tidak ada alasan untuk mengaksesnya secara langsung. Gunakan kode ini untuk membatasi akses:

                         # Block the use of certain scripts RewriteEngine On RewriteBase / RewriteRule ^wp- admin/includes/ - [F,L] RewriteRule ! ^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/. +\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]

                        Perlindungan terhadap injeksi file

                        Peretas mungkin mencoba mengirim file ke server Anda untuk mengendalikan situs web Anda. Untuk melempar kunci pas di jalurnya, Anda dapat menyertakan kode ini di file .htaccess Anda:

                         # Protection against file injections RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]

                        Perlindungan terhadap ancaman lain

                        Di Facebook, Richard mengatakan kepada saya bahwa adalah mungkin untuk melindungi dari clickjacking dan ancaman lainnya dengan menambahkan beberapa baris di file .htaccess .

                        Sekadar informasi, clickjacking adalah teknik yang membantu membuat pengunjung percaya bahwa dia ada di situs web Anda, padahal sebenarnya tidak, menggunakan tag frame atau iframe .

                        Jadi kode berikut membantu melindungi Anda dari clickjacking, melawan ancaman lain seperti MIME Sniffing, dan memblokir konten jika terjadi serangan XSS (yang akan menyuntikkan HTML atau JavaScript ke dalam variabel yang tidak terlindungi dengan baik).

                         # Various protections (XSS, clickjacking and MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Type-Options: "nosniff” </ifModule>

                        Dan hanya itu, Anda baru saja melalui banyak optimasi untuk dimasukkan ke dalam file .htaccess yang terletak di akar situs web.

                        Mari kita lanjutkan: potongan kode baru untuk folder wp-admin , wp-icludes , wp-content dan wp-content/uploads .

                        Cara menyesuaikan file .htaccess di wp-admin

                        wp-admin adalah sarang situs web Anda. Tempat Anda menulis artikel, mengonfigurasi menu, mengatur tema, dan banyak lagi.

                        Tak perlu dikatakan bahwa tidak ada orang yang tidak berwenang yang boleh memasuki surga ini. Jika tidak, waspadai konsekuensinya.

                        Inilah yang dapat Anda lakukan untuk memperkuat keamanan dengan file .htaccess yang Anda tempatkan di folder wp-admin situs web Anda.

                        Batasi akses ke administrasi situs web

                        Hanya orang dengan IP terdaftar yang dapat mengakses folder wp-admin . Cukup berguna untuk mencegah orang asing masuk ke situs web Anda (bahkan jika mereka memiliki kata sandi yang benar).

                         <Limit GET POST PUT> order deny,allow deny from all # Alex's IP allow from xxx.xxx.xxx.xxx # Nico's IP allow from xxx.xxx.xxx.xxx # IP of another access point allow from xxx.xxx.xxx.xxx </Limit>

                        Tambahkan otentikasi kedua

                        Saat Anda masuk ke admin situs web WordPress, Anda menggunakan login dan kata sandi. Nah, mungkin untuk menambahkan yang kedua melalui file .htaccess , dan file lain.

                        Pertama, buat file bernama .htpasswd di wp-admin , dan masukkan pasangan nama pengguna dan kata sandi ke dalamnya. Gunakan situs web ini untuk memandu Anda:

                        Antarmuka alat Generator HTPasswd.

                        Masukkan nama pengguna yang ingin Anda gunakan di bidang pertama, dan kata sandi Anda di bidang kedua, lalu klik "Hasilkan file .htpasswd ".

                        Kemudian salin baris yang akan muncul di file .htpasswd . Jika Anda perlu membuat banyak pengguna, ulangi prosesnya dan tambahkan pasangan nama pengguna/kata sandi baru di dalam baris baru.

                        Misalnya, Anda bisa mendapatkan file semacam ini:

                         alex:ieS547B1UxY8M jack:rSqEJf0SeTlRs
                        Konten tiruan dari file .htpasswd

                        Selanjutnya, masukkan kode berikut ke dalam file .htaccess :

                         # Second authentication for administration <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> AuthName "Login to the administration" AuthType Basic AuthUserFile "/full/path/to/the/file/.htpasswd" Require valid-user

                        Bagian yang sulit dari operasi ini adalah mendapatkan path lengkap ke file .htpasswd dengan benar. Untuk menemukannya dengan pasti, buat file info.php dan masukkan kode berikut:

                         <?php echo "Path to copy: " . realpath('.htaccess'); ?>
                        Tempatkan file info.php di wp-admin

                        Buka yourwebsite.com/wp-admin/info.php dan Anda akan mendapatkan jalur sebenarnya dari file .htpasswd untuk ditempatkan di file .htaccess . Hapus file info.php setelah Anda mendapatkan jalur yang benar.

                        Jika Anda memasukkan kode ini apa adanya, permintaan AJAX tidak akan berfungsi lagi. Gunakan cuplikan di bawah ini untuk memperbaiki masalah :

                         AuthType Basic AuthName "Protected page" AuthUserFile /home/.htpasswd Require valid-user <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> <Files admin-post.php> Order allow,deny Allow from all Satisfy any </Files> <Files "\.(css|gif|png|js)$"> Order allow,deny Allow from all Satisfy any </Files>
                        Tempatkan file info.php di wp-admin

                        Jika Anda memahami semua yang baru saja saya sebutkan, Anda harus memiliki otentikasi ganda untuk mengakses administrasi WordPress.

                        Mari kita lanjutkan ke bagian selanjutnya.

                        Bagaimana cara menyesuaikan file .htaccess di wp-includes?

                        Blokir akses langsung ke file PHP

                        Buat file .htaccess di wp-includes , dan tempel kode berikut ke dalamnya untuk mencegah file PHP dimuat secara langsung.

                         # Blocks direct access to PHP files (Thanks to Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> <Files wp-tinymce.php> Allow from all </Files> <Files ms-files.php> Allow from all </Files>

                        Kode di atas disediakan oleh plugin Sucuri.

                        Bagaimana cara menyesuaikan file .htaccess di wp-content?

                        Blokir akses langsung ke file PHP

                        Untuk folder wp-content , kodenya mirip, hanya pengecualiannya dihapus:

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch>

                        Bagaimana cara menyesuaikan file .htaccess di wp-content/uploads?

                        Blokir akses langsung ke file PHP

                        Dengan kode yang sama, lindungi folder tempat media disimpan untuk mencegah file PHP dieksekusi oleh seseorang dari luar (misalnya, peretas jahat).

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\. (?i:php)$"> <IfModule ! mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core. c> Require all denied </IfModule> </FilesMatch>

                        Rekap terakhir pada file .htacess di WordPress

                        Seperti yang telah Anda temukan di seluruh panduan ini, file .htaccess adalah alat yang sangat ampuh untuk mengonfigurasi server situs web Anda.

                        Ketika ditangani dengan hati-hati dan hati-hati, ini dapat meningkatkan keamanan, kinerja, SEO, atau bahkan pengalaman pengguna situs web Anda.

                        File #htaccess dari situs #WordPress Anda adalah alat yang ampuh. Cari tahu cara kerjanya dan atur seperti koki dengan tips WPMarmite.

                        Klik untuk Tweet

                        Sekali lagi, saya sarankan Anda selalu menyimpan cadangan file .htaccess asli Anda untuk melakukan reset jika ada masalah.

                        Lanjutkan dengan perubahan Anda dengan sangat hati-hati (saya akan memperingatkan Anda!). Kesalahan atau ketidakcocokan dapat terjadi tergantung pada host situs web Anda.

                        Meskipun sedikit yang telah dibahas dalam artikel ini, adalah mungkin untuk melangkah lebih jauh dalam menyiapkan .htaccess Anda, menggunakan berbagai sumber daya:

                        • Dokumentasi WordPress dan dokumentasi Apache (perangkat lunak yang menjalankan server Anda).
                        • Blog Perishable Press, yang bahkan memiliki buku berbayar tentang masalah ini.

                        Sebelum saya mengucapkan selamat tinggal, saya ingin mendapatkan masukan Anda di komentar. Apakah Anda menyesuaikan file .htaccess Anda?

                        Dan yang terpenting, jangan ragu untuk membagikan cuplikan kode apa pun yang biasa Anda gunakan dengan pembaca lain.