Mặc định mỗi website con trong mạng WordPress Multisite chỉ có 2 định dạng là subdomain hoặc subdirectory. Tuy nhiên chúng ta vẫn có giải pháp sử dụng tên domain cho từng website như một website riêng thật sự bằng cách sử dụng plugin.
Trước khi thiết lập domain riêng cho website con, bạn cần phải trỏ domain về host và thêm nó vào trong host ở cùng thư mục website. Dưới đây là các cách thêm domain vào host ở từng môi trường khác nhau.
Đối với host dùng cPanelNếu bạn dùng host sử dụng cPanel thì hãy tìm mục Aliases (giao diện mới) hoặc Parked Domain (giao diện cũ) và thêm domain cần sử dụng cho website con vào. Lưu ý mã nguồn của website phải nằm ở thư mục public_html.
Nếu mã nguồn nằm ở một thư mục con trong public_html, hãy vào phần Addon Domain và thêm domain vào, thiết lập thư mục vào đúng thư mục đang chứa mã nguồn website.
Đối với VestaCPNếu bạn dùng máy chủ riêng với VestaCP thì hãy sửa website trên VestaCP và điền tên miền cần làm tên miền riêng cho website con ở mục Aliases.
Đối với EasyEngineNếu bạn dùng EasyEngine thì hãy gõ lệnh ee site edit domain.com và nhập domain cần thêm vào mục server_name. Sau đó nhớ khởi động lại NGINX.
Bây giờ bạn hãy vào My Sites -> Network Admin -> Plugins và cài plugin WordPress MU Domain Mapping vào. Sau đó vào mục /wp-content/plugins/wordpress-mu-domain-mapping/ trên host và di chuyển tập tin sunrise.php về thư mục /wp-content/, hoặc bạn tải plugin về máy giải nén ra và upload tập tin sunrise.php vào /wp-content/ đều được.
Và chèn đoạn sau vào bên dưới define( 'SUNRISE', 'on' );
Và cuối cùng là truy cập vào My Sites -> Network Admin -> Settings -> Domain Mapping và điền IP của host vào mục Server IP Address và ấn Save. Nếu bạn không biết IP của host là gì thì hỏi nhà cung cấp host nhé.
Ô tê xong rồi, bây giờ chúng ta có thể thêm domain vào các website con.
Bạn truy cập vào My Sites -> Network Admin -> Settings -> Domain để bắt đầu thêm domain vào website con. Tại đây bạn nhập Site ID của website con và domain cần thêm vào rồi ấn Save lại là được.
Cách lấy Site ID
Bạn vào mục Sites -> All Sites và ấn vào nút Edit của website cần lấy ID, nhìn trên đường dẫn bạn sẽ thấy ngay cái số ID đằng sau.
Xong rồi, bây giờ nhấp vào domain vừa thêm để xem thành quả nào.
Khi sử dụng domain cho website con thì do bản chất các domain website con là alias của domain chính nên domain chính và các domain phụ thêm vào phải chung chứng chỉ SSL nếu bạn cần sử dụng giao thức HTTPS cho các website con.
Nếu bạn dùng Let’s Encrypt tự cài thì có thể tạo chứng chỉ cho nhiều domain với lệnh giống như dưới đây:
/opt/le/letsencrypt-auto certonly --standalone -d thachpham.net -d thachpham.infoNếu bạn đã có chứng chỉ sẵn rồi và cần thêm domain vào thì dùng lệnh giống dưới đây:
/opt/le/letsencrypt-auto certonly --standalone --agree-tos \--email contact@thachpham.com \--expand -d thachpham.net,www.thachpham.net,thachpham.info,www.thachpham.infoNếu bạn dùng host cPanel có hỗ trợ Let’s Encrypt như host tại AZDIGI thì bạn vào mục Let’s Encrypt SSL và ấn nút Reissue hoặc Issue và chọn các alias cần tạo chứng chỉ chung là được.
Khi dùng SSL, hãy nhớ vào Admin Network -> Sites -> All Sites -> Edit website cần thiết lập -> Settings và chọn đường dẫn là https như hình dưới.
Nhìn chung cách sử dụng domain riêng cho các website con có thể thiết lập hơi rối một chút nhưng cũng không khó để làm, ngoài ra mình cũng đã thử nghiệm với giao thức HTTPS và nó hoàn toàn hoạt động rất tốt.
Ở bài sau mình sẽ giới thiệu qua một số plugin rất hay dành cho WordPress Multisite mà bạn có thể cài vào sử dụng.
Đăng nhận xét