Saya memilikinya di file .htaccess saya:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301,L]
tetapi setiap kali saya mengakses file di root saya seperti http://example.com/robots.txt
itu akan dialihkan ke http://www.example.comrobots.txt/
.
Bagaimana saya bisa memperbaiki ini sehingga akan mengarahkan ulang dengan benar http://www.example.com/robots.txt
?
blog.example.com
menjadiwww.blog.example.com
Inilah solusi yang benar yang mendukung https dan http:
sumber
www
seperti solusi generik lainnya.yoursite.co.uk
Untuk Https
sumber
^(.*)$
bukan(.*)
?Contoh berikut ini berfungsi pada kedua ssl dan non-ssl dan jauh lebih cepat karena Anda hanya menggunakan satu aturan untuk mengelola http dan https
[Diuji]
Ini akan mengarahkan ulang
http
untuk
https
untuk
sumber
Coba ini, saya menggunakannya di banyak situs web, ini bekerja dengan sempurna
sumber
Saya telah menguji semua solusi di atas tetapi tidak bekerja untuk saya, saya telah mencoba untuk menghapus http: // dan tidak akan mengalihkan juga menghapus www itu redirect dengan baik, jadi saya bingung, khususnya saya menjalankan semua situs saya di bawah https : //
Jadi saya telah menggabungkan beberapa kode bersama dan menghasilkan solusi sempurna untuk http: // dan https: // dan www dan non-www.
Semoga ini bisa membantu seseorang :)
sumber
Tambahkan kode berikut dalam file .htaccess.
Tutorial pengalihan URL dapat ditemukan dari sini - Mengarahkan non-www ke www & HTTP ke HTTPS menggunakan file .htaccess
sumber
Konfigurasi ini bekerja untuk saya di bitnami wordpress dengan SSL yang dikonfigurasi:
Ditambahkan di bawah ini di bawah "RewriteEngine On" di file /opt/bitnami/apps/wordpress/conf/httpd-app.conf
sumber
Ini akan mengarahkan ulang domain Anda yang tidak dimulai dengan WWW. Ini bukan mengarahkan ulang semua sub domain Anda.
Ini bermanfaat.
sumber
Saya yakin jawaban teratas berhasil mengalihkan non-www ke www (mis: mysite.com -> www.mysite.com ), tetapi tidak memperhitungkan subdomain wildcard, yang menghasilkan:
Inilah solusi dengan / tanpa HTTPS
HTTP
HTTP / HTTPS
* catatan: Saya belum menguji https karena saat ini saya tidak memiliki sertifikat untuk diuji, tetapi jika seseorang dapat memverifikasi atau mengoptimalkan apa yang saya miliki, itu akan luar biasa.
sumber
Jika memungkinkan, tambahkan ini ke file konfigurasi Apache utama. Ini adalah solusi yang lebih ringan, lebih sedikit pemrosesan yang dibutuhkan.
Jadi, yang terpisah
VirtualHost
untuk "example.com" menangkap permintaan itu dan kemudian mengarahkannya secara permanen ke utama AndaVirtualHost
. Jadi tidak ada REGEX parsing dengan setiap permintaan, dan browser klien Anda akan melakukan cache redirect sehingga mereka tidak akan pernah (atau jarang) meminta url "salah" lagi, menghemat Anda pada server load.Catatan, garis miring di
Redirect permanent / http://www.example.com/
. Tanpa itu, redirect dariexample.com/asdf
akan diarahkan kehttp://www.example.comasdf
alih-alihhttp://www.example.com/asdf
.sumber
Dua peringatan
Hindari 301 dan lebih suka kode status respons 303 atau 307 modern.
Hindari 301
Pikirkan baik-baik jika Anda benar-benar membutuhkan pengalihan permanen yang ditunjukkan sebagai
[R=301]
karena jika Anda memutuskan untuk mengubahnya nanti, maka pengunjung halaman sebelumnya akan terus melihat halaman pengalihan asli.Informasi pengalihan permanen sering disimpan dalam cache browser dan, secara umum, sulit untuk dihilangkan (memuat ulang halaman tidak menyelesaikan masalah). Pengunjung situs web Anda akan terjebak dalam pengalihan sebelumnya "selamanya".
Hindari 302 juga
Versi baru protokol HTTP (v1.1) menambahkan dua kode status respons baru yang dapat digunakan alih-alih 302.
303
Pengalihan URL tetapi menuntut untuk mengubah jenis permintaan menjadi GET.307
Pengalihan URL tetapi menuntut untuk menjaga jenis permintaan seperti yang awalnya dikirim.Anda masih dapat menggunakan kode
302
(pengalihan non-permanen) meskipun dianggap ambigu. Bagaimanapun, sebagian besar browser mengimplementasikan302
dengan cara yang sama seperti yang303
diinstruksikan kode baru .sumber
http://example.com/testing
kehttp://www.example.com/testing
. Bisa jadi pendekatan yang buruk dalam jangka panjang? Terima kasih,Tulis di .htaccess :)
sumber