Chuyển cài đặt MultiSite từ HTTP sang HTTPS


11

Tôi đã cài đặt MultiSite với URL được đặt là http://example.com , nhưng bây giờ tôi muốn buộc tất cả các yêu cầu vượt qua HTTPS, vì vậy tôi đang cố gắng thay đổi URL thành https://example.com . Tôi đã đi qua cơ sở dữ liệu và cập nhật tất cả siteurlhomecác giá trị để có https , nhưng trang web vẫn tải qua HTTP, thay vì được chuyển hướng đến HTTPS.

Tôi biết rằng tôi có thể thiết lập một số quy tắc htaccess, nhưng điều đó dễ bị lỗi. Trong các cài đặt thông thường, WordPress sẽ tự động chuyển hướng tất cả các yêu cầu tới các URL chính quy được xác định trong siteurlhomecài đặt, vì vậy tôi cho rằng MultiSite cũng vậy.

Câu trả lời:


2

Có các plugin để đặt trang web thành SSL. Tại sao không sử dụng một trong số họ?

Và bạn có cài đặt chứng chỉ SSL và hoạt động không?


Tất cả các plugin tôi đã thấy là để đặt các trang cụ thể để sử dụng HTTPS, không phải toàn bộ trang web. Trong cài đặt WP thông thường, phương pháp thông thường để tạo toàn bộ trang web sử dụng HTTPS là đặt giá trị siteurlhome. Ngay cả khi có sẵn một số, có một số lý do tại sao sử dụng plugin là một ý tưởng tồi khi bạn chỉ có thể đặt giá trị cấu hình (bảo mật, hiệu suất, v.v.). Ngoài ra, tôi khá tự tin rằng không có vấn đề gì nếu chứng chỉ SSL chưa hoặc chưa. WordPress sẽ không kiểm tra xem khi nào xác định URL chính tắc là gì.
Ian Dunn

Đúng và đúng, tôi chỉ tự hỏi liệu bạn đã thiết lập hay chưa (rất nhiều người không biết bạn cần chứng chỉ SSL nếu bạn thực sự muốn sử dụng SSL, do đó là Q). Tôi chỉ nhớ rằng tôi đã có một trang web của tôi trong SSL một thời gian trước đây (không chỉ các trang cụ thể, mà toàn bộ trang web như bạn muốn). Tôi sẽ tra cứu mã.
Hiranthi

Hmm .. không thể tìm thấy mã tôi đã sử dụng trước đó. Tuy nhiên, tôi đã tìm thấy điều này: prosauce.org/blog/2010/08/...
Hiranthi

Tôi đã cài đặt Better WP Security vì một lý do khác, nhưng hóa ra nó có một tùy chọn để buộc tất cả các yêu cầu trang (mặt trước và mặt sau) phải vượt qua SSL.
Ian Dunn

Giải pháp tốt nhất sẽ là giải pháp không sử dụng plugin IMHO. Bằng cách đó, mỗi yêu cầu không phải được phân tích cú pháp bởi plugin.
Captainblack

3

Tôi gặp phải cùng một vấn đề: với WordPress multisite, không có tùy chọn hoặc cài đặt nào xác định nếu một tên miền trang web là HTTP hoặc HTTPS. Ngay cả sau khi thay thế tất cả các lần xuất hiện trong cơ sở dữ liệu, khách truy cập trang vẫn có thể nhập và điều hướng trang trong HTTP mà không bị chuyển hướng đến HTTPS.

Giải pháp đơn giản sau đây có hiệu quả với tôi: Tôi đã thêm mod_rewritequy tắc này vào tệp .htaccess của mình, ngay trước quy tắc viết lại cụ thể của WordPress.

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

Vì quy tắc này không xác định một tên miền cụ thể, nên nó hoàn hảo cho nhu cầu của nhiều trang WordPress.

Tôi đã tìm thấy quy tắc này trong chuỗi sau: /programming/4398951/force-ssl-https-USE-htaccess-and-mod-rewrite


Loại giải pháp này là tuyệt vời cho một multisite là giao thức đồng nhất. Khi bạn muốn kết hợp các trang web SSL và không SSL trong một mạng nhiều trang, mọi thứ trở nên phức tạp. Rất phức tạp.
CC

Thật vậy, bối cảnh của tôi là một mạng nơi tôi chuyển tất cả các trang web sang SSL cùng một lúc.
Manu

Đặt nó trước các quy tắc cụ thể của WordPress đã giải quyết nó cho tôi. Cảm ơn - giải pháp này đã cho tôi một thời gian để tìm thấy.
bastelflp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.