Apa cara terbaik untuk memaksa HTTPS dan WWW tetapi mengizinkan localhost?

Apa cara terbaik untuk memaksa HTTPS dan WWW tetapi mengizinkan localhost? [bahasa Indonesia]

HTACCESS memaksa HTTPS dan WWW tetapi mengizinkan localhost

Penting untuk memaksa HTTPS dan WWW karena beberapa alasan: dapatkan kepercayaan dari pengunjung Anda dengan menunjukkan koneksi aman, dan, jika Anda menggunakan subdomain seperti www, menjaga konsistensi dengan pengunjung dan pelaporan Anda, di web murah Anda hosting misalnya.

Dapat dengan mudah menjadi rumit dalam mesin pelaporan seperti Google Search Console untuk memiliki tampilan berbeda untuk situs dan halaman yang sama persis. Satu dengan koneksi HTTPS yang aman, satu tanpa, dan masing-masing dengan subdomain Web www dan yang lain tanpa, dan bahkan menjadi mimpi buruk yang membuat Anda harus menyiapkan Filter subdomain Google Analytics agar pelaporan konsisten.

Sebenarnya ada beberapa cara mudah untuk memastikan bahwa semua pengunjung akan diarahkan ke keamanan di HTACCESS versi HTTPS dari situs dan subdomain Web, tanpa memengaruhi kunjungan, dan itu juga dapat digunakan untuk mengalihkan situs web ke situs web lain dengan cara yang sederhana dan mudah ini. metode yang elegan.

Dan, di atas itu, dan untuk membuatnya lengkap, untuk memastikan bahwa subdomain localhost dapat diakses tanpa subdomain Web atau redirect ke HTTPS, dan bahwa halaman yang diakhiri dengan slash akan diarahkan ke halaman normal, untuk menghindari hitung ganda dari halaman yang sama dalam laporan.

Mari kita singkirkan semua halaman duplikat ini, yang menyulitkan pada akhirnya untuk sepenuhnya menyetujui analitik:

  • http://mywebsite.com/page

  • http://mywebsite.com/page/

  • https://mywebsite.com/page

  • https://mywebsite.com/page/

  • http://www.mywebsite.com/page

  • http://www.mywebsite.com/page/

  • https://www.mywebsite.com/page

  • https://www.mywebsite.com/page/

  • Semua ini akan dilakukan dengan memperbarui file .htaccess, yang merupakan file tersembunyi yang digunakan pada server Apache, biasanya disimpan pada folder root situs web.

Redirect halaman yang diakhiri dengan garis miring

Untuk menghapus garis miring dari URL yang diakhiri dengan salah satunya, dan agar permintaan dialihkan ke halaman standar tanpa garis miring, cukup sesuaikan URL yang dimulai dan diakhiri dengan garis miring, pastikan itu bukan direktori yang diminta, dan redirect untuk seluruh permintaan URI tanpa garis miring.

Juga, arahkan kembali halaman ke URL Web aman yang seharusnya benar - ini akan menyelesaikan secara langsung semua masalah potensial Anda, termasuk mengakhiri slash, permintaan tidak aman, atau subdomain non Web.

Kita juga perlu sepotong kode tambahan untuk memastikan bahwa setiap permintaan ke direktori berakhir dengan garis miring, karena URL direktori situs web normal akan berakhir dengan salah satunya.

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESS memaksa HTTPS dan memaksa WWW htaccess

Sekarang masalah slash akhir diselesaikan, mari kita fokus pada HTTPS yang hilang atau subdomain Web yang hilang yang dapat terjadi, dengan htaccess redirect http ke https dengan paksa www.

Cara termudah dan paling bergaya untuk mewujudkannya, adalah memiliki keduanya diidentifikasi dalam kondisi proses yang sama persis.

Ini dilakukan dengan mudah dengan mencocokkan URL yang tidak dimulai dengan subdomain Web, atau permintaan apa pun yang tidak termasuk HTTPS, dan mengalihkan URL yang benar dari situs web kami, yang mencakup koneksi aman dan subdomain Web www.

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Paksa HTTPS dan WWW tetapi izinkan localhost

Sekarang, ini semua baik, tetapi apa yang terjadi ketika kita benar-benar mencoba untuk mencapai Situs Web kami dalam mode pengembangan pada server lokal XAMPP, tetapi semua permintaan kami ke http: // localhost sekarang bisa dialihkan ke https://www.mysite.com - versi produksi kami?

Nah solusinya adalah dengan menggunakan kembali potongan kode sebelumnya yang memberlakukan HTTPS dan versi WWW dari permintaan URL, tetapi mulai dengan mengecualikan dari permintaan cek yang baik yang ditujukan ke localhost atau ke alamat IP lokal kami, yaitu 127.0.0.1.

Dan itu saja, kita sekarang memiliki sepotong kode yang indah yang akan menyelesaikan semua masalah kita!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Redirect HTTP ke HTTPS htaccess, paksakan WWW, dan hapus ending slash

Seluruh bagian kode di bawah ini dapat digunakan dalam file HTACCESS untuk mencapai semua hal berikut:

Arahkan HTTP ke HTTPS dalam htacces,

Paksa WWW di htaccess,

Hapus akhiran garis miring pada URL.

Tentu saja, jangan lupa untuk mengubah URL situs web yang berlaku untuk Anda.

Ia bahkan dapat digunakan untuk mengalihkan situs web ke situs web lain hanya dengan mengubah URL tujuan ke situs web hosting murah terbaik lainnya:

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Artikel serupa


Komentar (0)

Tinggalkan komentar

Tingkatkan pendapatan iklan 50-250% dengan Ezoic. Mitra Penerbitan Bersertifikat Google.
Tingkatkan pendapatan iklan 50-250% dengan Ezoic. Mitra Penerbitan Bersertifikat Google.
 
Tingkatkan pendapatan iklan 50-250% dengan Ezoic. Mitra Penerbitan Bersertifikat Google.
Tingkatkan pendapatan iklan 50-250% dengan Ezoic. Mitra Penerbitan Bersertifikat Google.