Chuyển hướng http sang https bằng file .htaccess
Sau khi bạn cài đặt SSL lên website hoàn tất, tuy nhiên khi truy cập vào website ở giao thức http://
không tự chuyển về https://
.
Ví dụ: truy cập http://domain không tự chuyển về https://domain
Có hai cách để giải quyết vấn đề này là sử dụng Plugin chuyển hướng của bên thứ ba và xử lý bằng file .htaccess
. Và ở bài viết này mình hướng dẫn bạn xử lý bằng cách thêm các đoạn mã vào file .htaccess
.
Nếu bạn sử dụng hosting tại Partner VN và sử dụng mã nguồn WordPress thì thêm các mã này
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
# END WordPress
Mã trên bao gồm .htaccess mặc định của WordPress và chuyển hướng https
Nếu bạn sử dụng CloudFlare.
Truy cập vào CloudFlare tìm tên miền của bạn và chọn chức năng Page Rules
Chọn bật chức năng “Always uses https”
Phần URL patternđiền vào tên miền của bạn theo mẫu dưới đây (Vui lòng thay domain.com là tên miền của bạn).
*domain.com/*
Nếu bạn sử dụng máy chủ Nginx
Sửa file vhost (conf) thêm giống dưới đây và sau khi thêm xong reload bằng lệnh sau
server {
listen 80
server_name example.com www.example.com;
## redirect http to https ##
rewrite ^ https://$server_name$request_uri? permanent;
}
nginx -s reload
Nếu bạn sử dụng Windows Hosting
Bạn thêm vào file web.config đoạn mã dưới đây
<rule name="Redirect to HTTP" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{R:1}" pattern="^onepage/(.*)$" negate="true" />
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
Chúc các bạn thành công.
0 Comments