Như đã đề cập trong các nhận xét, không có gì trong cấu hình bạn đã đăng có thể gây ra điều này. Không có chuyển hướng nào trong cấu hình bạn đã đăng. Đây rất có thể là lỗi cấu hình trong CMS (Prestashop) của bạn.
Có vẻ như sự cố xảy ra với chuyển hướng HTTP sang HTTPS đang xóa dấu gạch chéo ở đầu đường dẫn URL (ngay sau tên máy chủ).
Tuy nhiên, bạn có thể "giải quyết" sự cố này bằng cách triển khai chuyển hướng HTTP sang HTTPS (và không phải www sang www) trong .htaccess
- xảy ra trước khi CMS của bạn có thể làm bất cứ điều gì. Vì vậy, CMS của bạn không cần chuyển hướng yêu cầu.
Ví dụ: giả sử bạn có một máy chủ tiêu chuẩn hợp lý, trong đó SSL được quản lý bởi máy chủ ứng dụng (không có proxy SSL như Cloudflare, v.v.), thì bạn có thể thực hiện một số thao tác như sau ở trên cùng của .htaccess
tập tin, trước khi # ~~bắt đầu~~
bình luận.
# Chuyển hướng không phải www sang www + HTTPS
RewriteCond %{HTTP_HOST} ^(example\.com) [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]
# Chuyển hướng HTTP sang HTTPS (các yêu cầu còn lại)
RewriteCond %{HTTPS} =tắt
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Lưu ý: Kiểm tra trước với chuyển hướng 302 (tạm thời) để tránh các sự cố tiềm ẩn về bộ nhớ đệm.
CẬP NHẬT:
Tôi đã cố gắng thêm các dòng bạn đã viết ở trên nhưng không có gì thay đổi.
Điều này có nghĩa là bạn có HTTP sang HTTPS không đúng định dạng trong chính cấu hình máy chủ (thực thi trước đó .htaccess
)
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com
</VirtualHost>
Nếu đây là cấu hình thực tế của bạn, thì bạn đang thiếu dấu gạch chéo ở cuối trên URL mục tiêu! Điều này sẽ dẫn đến chuyển hướng không đúng định dạng (thiếu dấu gạch chéo sau tên miền) mà bạn đang thấy.
Nó phải là:
Chuyển hướng vĩnh viễn / https://www.example.com/
Bạn sẽ cần đảm bảo rằng bộ nhớ đệm của trình duyệt sạch trước khi kiểm tra, vì chuyển hướng sai sẽ được lưu vào bộ đệm.