การสลับการติดตั้ง MultiSite จาก HTTP เป็น HTTPS


11

ผมติดตั้ง MultiSite กับชุด URL ที่เป็นhttp://example.comแต่ตอนนี้ฉันต้องการบังคับคำขอทั้งหมดที่จะไปผ่าน HTTPS ดังนั้นฉันพยายามที่จะเปลี่ยน URL ที่จะhttps://example.com ฉันผ่านฐานข้อมูลและอัปเดตค่าsiteurlและhomeค่าทั้งหมดเพื่อให้มีhttpsแต่ไซต์ยังคงโหลดผ่าน HTTP แทนที่จะเปลี่ยนเส้นทางไปยัง HTTPS

ฉันรู้ว่าฉันสามารถตั้งค่ากฎ htaccess บางอย่าง แต่ก็มีแนวโน้มที่จะเกิดข้อผิดพลาด ในการติดตั้งปกติ WordPress จะเปลี่ยนเส้นทางคำขอทั้งหมดไปยัง URL ตามมาตรฐานที่กำหนดไว้ในsiteurlและhomeการตั้งค่าโดยอัตโนมัติดังนั้นฉันคิดว่า MultiSite ก็ทำเช่นกัน

คำตอบ:


2

มีปลั๊กอินสำหรับตั้งค่าเว็บไซต์เป็น SSL ทำไมไม่ใช้หนึ่งในนั้น?

และคุณมีใบรับรอง SSL ติดตั้งและเปิดใช้งานอยู่หรือไม่


ปลั๊กอินทั้งหมดที่ฉันเคยเห็นคือการตั้งค่าหน้าเฉพาะให้ใช้ HTTPS ไม่ใช่ทั้งไซต์ ในการติดตั้ง WP ปกติวิธีปกติในการทำให้ทั้งไซต์ใช้ HTTPS คือการตั้งค่าsiteurlและhomeค่า แม้ว่าจะมีบางอย่างให้ใช้งาน แต่ก็มีหลายสาเหตุที่การใช้ปลั๊กอินเป็นความคิดที่ไม่ดีเมื่อคุณสามารถตั้งค่ากำหนดค่า (ความปลอดภัยประสิทธิภาพ ฯลฯ ) นอกจากนี้ฉันค่อนข้างมั่นใจว่าไม่สำคัญว่าใบรับรอง SSL จะเป็นเช่นนั้นหรือไม่ WordPress จะไม่ตรวจสอบว่าเมื่อกำหนด URL ที่เป็นที่ยอมรับ
Ian Dunn

จริงและจริงฉันแค่สงสัยว่าคุณมีการตั้งค่าหรือไม่ (โหลดคนไม่ทราบว่าคุณต้องการใบรับรอง SSL หากคุณต้องการใช้ SSL อย่างแท้จริงดังนั้น Q) ฉันเพิ่งจำได้ว่าฉันมีเว็บไซต์ของฉันใน SSL ในขณะที่กลับ (ไม่เพียง แต่หน้าเฉพาะ แต่ทั้งเว็บไซต์ตามที่คุณต้องการ) ฉันจะค้นหารหัส
Hiranthi

อืม .. ฉันไม่พบรหัสที่ฉันใช้ตอนนั้น อย่างไรก็ตามฉันพบสิ่งนี้: prosauce.org/blog/2010/08/…
Hiranthi

ฉันติดตั้งBetter WP Securityด้วยเหตุผลที่แตกต่างออกไป แต่ปรากฎว่ามีตัวเลือกที่จะบังคับให้ทุกการร้องขอหน้า (ด้านหน้าและด้านหลัง) ไปผ่าน SSL
Ian Dunn

1
ทางออกที่ดีที่สุดจะเป็นสิ่งที่ไม่ใช้ปลั๊กอิน IMHO วิธีนี้แต่ละคำขอไม่จำเป็นต้องแยกวิเคราะห์โดยปลั๊กอิน
captainblack

3

ฉันพบปัญหาเดียวกันกับ WordPress multisite ไม่มีตัวเลือกหรือการตั้งค่าที่กำหนดว่าโดเมนไซต์เป็น HTTP หรือ HTTPS แม้หลังจากแทนที่สิ่งที่เกิดขึ้นทั้งหมดในฐานข้อมูลแล้วผู้เยี่ยมชมไซต์ยังคงสามารถเข้ามาและนำทางไซต์ใน HTTP ได้โดยไม่ต้องเปลี่ยนเส้นทางไปยัง HTTPS

วิธีแก้ไขปัญหาต่อไปนี้ใช้งานได้สำหรับฉัน: ฉันเพิ่มmod_rewriteกฎนี้ลงในไฟล์. htaccess ของฉันก่อนหน้ากฎการเขียนซ้ำเฉพาะของ WordPress

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

เนื่องจากกฎนี้ไม่ได้กำหนดโดเมนที่เฉพาะเจาะจงจึงเหมาะสำหรับความต้องการของ WordPress เว็บไซต์หลายรายการ

ฉันพบกฎนี้ในหัวข้อต่อไปนี้: /programming/4398951/force-ssl-https-using-htaccess-and-mod-rewrite


วิธีแก้ปัญหาประเภทนี้ยอดเยี่ยมสำหรับเว็บไซต์ที่มีโปรโตคอลที่เป็นเนื้อเดียวกัน เมื่อคุณต้องการมีการผสมผสานของเว็บไซต์ SSL และที่ไม่ใช่ SSL ในเครือข่ายหลายเว็บไซต์ที่ซับซ้อน ซับซ้อนมาก
CC

แท้จริงแล้วบริบทของฉันคือเครือข่ายที่ฉันเปลี่ยนไซต์ทั้งหมดเป็น SSL ในเวลาเดียวกัน
มนู

วางไว้ก่อนกฎเฉพาะของ WordPress แก้ไขให้ฉัน ขอบคุณ - โซลูชันนี้ใช้เวลาสักครู่ในการค้นหา
bastelflp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.