Tôi đang cố nối các tham số URL vào URI yêu cầu cụ thể trong khối máy chủ.
Đây là những gì tôi có cho đến nay:
nếu ( $request_uri = "/testing/signup" ) {
viết lại ^ https://www.example.com/testing/signup?org=7689879&type_id=65454 cuối cùng;
}
địa điểm /thử nghiệm/ {
try_files $uri $uri/ /testing/index.php;
}
Tuy nhiên, điều này chỉ hoạt động khi URI yêu cầu ban đầu không có bất kỳ tham số URL riêng nào (ví dụ: www.example.com/testing/signup?abc=hello) Tôi muốn giữ lại thông số URL ban đầu và thêm thông số của riêng tôi.
Tôi đã thử thay đổi regex thành if ( $request_uri ~* "^/testing/signup" ) {
nhưng điều này gây ra một vòng lặp.
Có ai giúp được không?
**** CẬP NHẬT ****
Tôi đã cập nhật để thử điều này:
địa điểm /thử nghiệm/ {
viết lại ^/testing/signup$ /testing/signup?org=1231564 break;
try_files $uri $uri/ /testing/index.php$is_args$args;
}
Điều này không vượt qua các tham số URL nhưng khi kiểm tra nhật ký có thể thấy rằng cả tham số URL hiện có và tham số URL mới đều nằm trong biến args.Nhưng làm cách nào để đưa những thứ này vào yêu cầu GET để máy chủ có thể xử lý chúng?
03/08/2021 02:27:07 [thông báo] 3202#3202: *27 "^/testing/signup$" khớp với "/testing/signup", máy khách: 146.75.168.54, máy chủ: example.com, yêu cầu: " NHẬN /testing/signup?id=1 HTTP/2.0", máy chủ lưu trữ: "www.example.com"
2021/08/03 02:27:07 [thông báo] 3202#3202: *27 dữ liệu được viết lại: "/testing/signup", args: "org=1231564&id=1", máy khách: 146.75.168.54, máy chủ: example.com , yêu cầu: "NHẬN /testing/signup?id=1 HTTP/2.0", máy chủ lưu trữ: "www.example.com"