นี่คือเซิร์ฟเวอร์ Apache httpd 2.2
เราต้องการให้ HTTPS เข้าถึงเซิร์ฟเวอร์นี้เพื่อเข้ารหัส
เมื่อลูกค้าเว็บเยี่ยมชมเว็บไซต์ของฉันที่http://www.example.org/ $ foo (พอร์ต 80) ฉันต้องการเปลี่ยนเส้นทางคำขอไปยังเว็บไซต์ที่เข้ารหัส HTTPS ที่https://www.example.org/ $ foo
ดูเหมือนจะมีสองวิธีทั่วไปในการทำเช่นนี้:
วิธีแรกใช้คำสั่ง ' เปลี่ยนเส้นทาง ' จาก mod_alias:
<VirtualHost *:80>
Redirect permanent / https://www.example.org/
</VirtualHost>
วิธีที่สองใช้ mod_rewrite:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
อะไรคือความแตกต่างระหว่าง "การเปลี่ยนเส้นทางถาวร" และ mod_rewrite stanza เป็นคนหนึ่งที่ดีกว่าคนอื่น ๆ ?
Redirect
Directive handle จะเปลี่ยนเส้นทางจาก http ไปยัง https ดีขึ้น ดูความคิดเห็นของ Stefan ด้านล่างและตรวจสอบเอกสารของ Apache ในหัวข้อนี้: httpd.apache.org/docs/current/rewrite/avoid.html#redirect