- Nếu bạn có quyền chỉnh sửa file Virtual host của Apache, sửa file Virtual host với nội dung tương tự như sau:
-
<VirtualHost *:80>
ServerName www.example.com
Redirect / https://www.example.com/
</VirtualHost><VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost> - Sau đó restart Apache
/etc/init.d/httpd restart
- Trường hợp Apache có cài đặt mod_rewrite, bạn có thể chuyển hướng bằng cách tạo file .htaccess mà ko cần hoặc ko được cấp quyền sửa file virtual host (thường gặp khi sử dụng web hosting):
- Nếu muốn chuyển hướng toàn bộ về ko có www:
RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
- Nếu muốn chuyển hướng toàn bộ về có www:
RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
- Wordpress cài đặt với PHP + Apache có cài đặt mod_rewrite, bạn có thể chuyển hướng bằng .htaccess
RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- Wordpress cài đặt với PHP + Nginx
server { listen 80; server_name domain.com www.domain.com; return 301 https://domain.com$request_uri; } server { listen 443 ssl; server_name domain.com www.domain.com; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers On; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_certificate /etc/nginx/ssl.crt/www.yoursite.com.crt; ssl_certificate_key /etc/nginx/ssl.key/www.yoursite.com.key; ...
- Sau đó restart Nginx
/etc/init.d/nginx restart
- 1. Sử dụng Wordpress plugin: WP Force SSL
- 2. Sử dụng Wordpress plugin: Really Simple SSL