ฉันกำลังพยายามผนวกพารามิเตอร์ URL กับ URI คำขอเฉพาะภายในบล็อกเซิร์ฟเวอร์
นี่คือสิ่งที่ฉันมีจนถึงตอนนี้:
ถ้า ( $request_uri = "/ทดสอบ/สมัคร" ) {
เขียนใหม่ ^ https://www.example.com/testing/signup?org=7689879&type_id=65454 สุดท้าย;
}
ตำแหน่ง /การทดสอบ/ {
try_files $uri $uri/ /testing/index.php;
}
อย่างไรก็ตาม วิธีนี้ใช้ได้เฉพาะเมื่อ URI คำขอเดิมไม่มีพารามิเตอร์ URL ของตัวเอง (เช่น www.example.com/testing/signup?abc=hello) ฉันต้องการเก็บ URL เดิมไว้และเพิ่มพารามิเตอร์ของตัวเอง
ฉันได้ลองเปลี่ยน regex เป็น if ( $request_uri ~* "^/ทดสอบ/สมัคร" ) {
แต่สิ่งนี้ทำให้เกิดลูป
ใครสามารถช่วย?
**** อัปเดต ****
ฉันได้อัปเดตเพื่อลองทำสิ่งนี้:
ตำแหน่ง /การทดสอบ/ {
เขียนใหม่ ^/testing/signup$ /testing/signup?org=1231564 break;
try_files $uri $uri/ /testing/index.php$is_args$args;
}
สิ่งนี้ไม่ผ่านพารามิเตอร์ URL แต่เมื่อตรวจสอบบันทึกจะเห็นว่าทั้งพารามิเตอร์ URL ที่มีอยู่และพารามิเตอร์ใหม่อยู่ในตัวแปร argsแต่ฉันจะนำสิ่งเหล่านี้เข้าสู่คำขอ GET ไปยังเซิร์ฟเวอร์ได้อย่างไร?
2021/08/03 02:27:07 [ประกาศ] 3202#3202: *27 "^/testing/signup$" ตรงกับ "/testing/signup", ลูกค้า: 146.75.168.54, เซิร์ฟเวอร์: example.com, คำขอ: " GET /testing/signup?id=1 HTTP/2.0", โฮสต์: "www.example.com"
2021/08/03 02:27:07 [ประกาศ] 3202#3202: *27 ข้อมูลที่เขียนใหม่: "/testing/signup", args: "org=1231564&id=1", ลูกค้า: 146.75.168.54, เซิร์ฟเวอร์: example.com คำขอ: "GET /testing/signup?id=1 HTTP/2.0", โฮสต์: "www.example.com"