Tôi có http: // và https: // trên cùng một máy chủ như sau:Chuyển hướng đến SSL sử dụng nginx
server {
listen 80;
listen 443 ssl;
...
...
}
Những gì tôi cần làm là chuyển hướng người dùng truy cập vào cửa hàng của tôi để https://. Vấn đề là tôi có nhiều ngôn ngữ:
https://mydomain.com/en/cửa hàng https://mydomain.com/fr/cửa hàng vv ...
tôi đã cố gắng này và nó đã không làm việc (nginx: configuration file /etc/nginx/nginx.conf test failed)
:
if ($server_port = 80) {
location (en|fr)/shop {
rewrite^https://$host$request_uri permanent;
}
}
tôi nhận được một lỗi với mã của bạn: Khởi động lại nginx: nginx: [emerg] "location" chỉ thị không được phép ở đây trong –
@AdamSilver: Bạn có thể không có 'location' bên trong một' khối if' (xem tài liệu của vị trí).Đơn giản chỉ cần thay đổi bạn viết lại quy tắc để chỉ viết lại nếu đường dẫn bắt đầu bằng '(en | fr)/shop'. –
Nhưng tôi sẽ nhận được một vòng lặp chuyển hướng! –