Rumah > Soal Jawab > teks badan
Pelayan apache yang saya ingin gunakan untuk menukar http kepada https
Saya memuat turun sijil ssl percuma Alibaba Cloud.
Sila berikan butiran
phpersword2017-12-13 10:47:23
Bagaimana untuk menetapkan http untuk melompat secara automatik ke https Dalam persekitaran apache, selepas mengkonfigurasi https, anda perlu menetapkan peraturan pengalihan url supaya akses http ke halaman tapak web akan mengubah hala secara automatik ke akses https.
1 Mula-mula dayakan sokongan ubah hala url
1) Buka Apache/conf/httpd.conf, cari #LoadModule rewrite_module modules/mod_rewrite.so dan alih keluar tanda #.
2) Cari bahagian <Direktori> pada direktori tapak web anda, contohnya, direktori tapak web saya ialah c:/www, cari
<Direktori “C:/www”>
…
</Direktori>
dan ubah suainya AllowOverride Tiada adalah AllowOverride All3) Mulakan semula perkhidmatan apache 2. Tetapkan peraturan ubah hala
1) Letakkan fail .htaccess dalam direktori tapak web anda. Dalam persekitaran Windows, anda tidak boleh menamakan semula fail secara terus kepada .htaccess Anda akan digesa untuk memasukkan nama fail. Jadi kami mula-mula mencipta dokumen "New Text Document.txt" baharu, buka Notepad, pilih Save As, pilih "All Files (*.*)" sebagai jenis simpan, masukkan ".htaccess" sebagai nama fail dan simpan. Ini menjana fail .htaccess.
2) Buka fail .htaccess dalam editor dan tulis peraturan berikut:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.*
) https ://%{SERVER_NAME}/$1 [R]
Penjelasan:
%{SERVER_PORT} —— Akses port
%{REQUEST_URI} —— Contohnya, jika url ialah http://localhost/tz.php , ia merujuk kepada / tz.php
%{SERVER_NAME} - Sebagai contoh, jika url ialah http://localhost/tz.php, ia merujuk kepada localhost
Maksud peraturan di atas ialah jika port bagi url yang diakses bukan 443, dan halaman yang diakses bukan tz .php, peraturan RewriteRule digunakan. Ini dicapai: apabila mengakses halaman seperti http://localhost/index.php atau http://localhost/admin/index.php, ia secara automatik akan melompat ke https://localhost/index.php atau https:/ / localhost/admin/index.php, tetapi tiada lompatan akan dibuat apabila mengakses http://localhost/tz.php, iaitu, http://localhost/tz.php dan https://localhost/tz .php boleh diakses daripada kedua-dua alamat.