ฉันจัดการเว็บไซต์เล็ก ๆ น้อย ๆ ในสภาพแวดล้อม LAMP ของโฮสติ้งที่ใช้ร่วมกัน: สิ่งนี้โดยทั่วไปหมายถึงสิ่งเดียวที่ฉันสามารถแก้ไขได้คือไฟล์ htaccess
ฉันต้องการเพิ่มการสนับสนุน HSTS (และฉันทำได้) แต่เมื่อฉันทดสอบเว็บไซต์ของฉันที่นี่เพื่อรับสิทธิ์โหลดล่วงหน้า HSTS ฉันได้รับข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาด: HTTP เปลี่ยนเส้นทางไปที่ www ก่อน
http://example
(HTTP) ควรเปลี่ยนเส้นทางไปที่https://example
(HTTPS) ทันทีก่อนที่จะเพิ่มโดเมนย่อย www ในตอนนี้การเปลี่ยนเส้นทางครั้งแรกคือhttps://www.example.
การเปลี่ยนเส้นทางเพิ่มเติมเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่าเบราว์เซอร์ที่รองรับ HSTS จะบันทึกรายการ HSTS สำหรับโดเมนระดับบนสุดไม่ใช่เฉพาะโดเมนย่อย
ดังนั้นฉันคิดว่าฉันควรเปลี่ยนเส้นทางผู้ใช้ด้วยวิธีนี้:
http://example
(นี่คือสิ่งที่ผู้ใช้ป้อนในแถบที่อยู่ของเบราว์เซอร์)https://example
(เราเปลี่ยนเส้นทางเขาไปยังเว็บไซต์รุ่น HTTPS)https://www.example
(เราเปลี่ยนเส้นทางเขาอีกครั้งเพื่อ www โดเมนย่อย)
การเปลี่ยนเส้นทางปัจจุบันของฉันทำได้ดังนี้:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
ฉันพยายามเพิ่มการเปลี่ยนเส้นทางก่อนบรรทัดสุดท้ายด้วยวิธีนี้:
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
แต่ฉันได้รับข้อผิดพลาด "หน้าไม่สามารถเปลี่ยนเส้นทางอย่างถูกต้อง" จากเบราว์เซอร์
ดังนั้นวิธีใดที่เหมาะสมในการเปลี่ยนเส้นทางผู้ใช้จากรุ่น http ของเว็บไซต์ไปยัง https และในที่สุดก็ไปที่ https ด้วย www? และ: มีความเสี่ยงหรือไม่?