Score:0

จะเปลี่ยนเส้นทางไปที่ /index.php?/Test/ ใน nginx ได้อย่างไร

ธง ru

ฉันมีเซิร์ฟเวอร์ nginx ฉันต้องการเปลี่ยนเส้นทางคำขอ /index.php?/Test/ ไปยังเซิร์ฟเวอร์อื่น ฉันลองหลายตัวอย่างแล้ว แต่ไม่สำเร็จ

ฉันใช้ตัวอย่าง:

ที่ตั้ง / {

    ถ้า ( $query_string = "/Ajax/" ) {

        ส่งคืน 301 http://localhost.com/index.php?/Ajax/;
    }

    ตำแหน่ง /index.php*/Test/ {
        ส่งคืน 301 http://localhost.com/Test;
    }
    
    ตำแหน่ง /index.php?/Test/ {
        ส่งคืน 301 http://localhost.com/Test;
    }

ดีบัก Nginx:

18/03/02 18:29:08 [แก้ปัญหา] 10022#0: *12 http บรรทัดคำขอ: "POST /?/Test/ HTTP/1.1"
2022/03/18 18:29:08 [แก้ไขข้อบกพร่อง] 10022#0: *12 http uri: "/"
18/03/2022 18:29:08 [แก้ปัญหา] 10022#0: *12 http args: "/Test/"
2022/03/18 18:29:08 [แก้ไขข้อบกพร่อง] 10022#0: *12 http ขยาย: ""
2022/03/18 18:29:08 [แก้ไขข้อบกพร่อง] 10022#0: *12 posix_memalign: 00005614404B1200:4096 @16
2022/03/18 18:29:08 [debug] 10022#0: *12 http บรรทัดส่วนหัวของคำขอกระบวนการ
2022/03/18 18:29:08 [แก้ไขข้อบกพร่อง] 10022#0: *12 ส่วนหัว http: "ประเภทเนื้อหา: แอปพลิเคชัน/x-www-form-urlencoded"
2022/03/18 18:29:08 [debug] 10022#0: *12 http ส่วนหัว: "โฮสต์: my.localhost.com"
2022/03/18 18:29:08 [แก้ไขข้อบกพร่อง] 10022#0: *12 ส่วนหัว http: "ความยาวของเนื้อหา: 22"
2022/03/18 18:29:08 [debug] 10022#0: *12 http header: "คาดหวัง: 100-continue"
2022/03/18 18:29:08 [debug] 10022#0: *12 http ส่วนหัวเสร็จสิ้น
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 0
2022/03/18 18:29:08 [debug] 10022#0: *12 รีไรท์เฟส: 1
2022/03/18 18:29:08 [debug] 10022#0: *12 ตำแหน่งทดสอบ: "/"
2022/03/18 18:29:08 [debug] 10022#0: *12 ตำแหน่งทดสอบ: ~ "\.php$"
2022/03/18 18:29:08 [debug] 10022#0: *12 โดยใช้การกำหนดค่า "/"
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 http cl:22 สูงสุด:1048576
2022/03/18 18:29:08 [debug] 10022#0: *12 รีไรท์เฟส: 3
2022/03/18 18:29:08 [debug] 10022#0: *12 http สคริปต์ regex: "^/index\.php?/Test/$"
2022/03/18 18:29:08 [ประกาศ] 10022#0: *12 "^/index\.php?/Test/$" ไม่ตรงกับ "/", ไคลเอ็นต์: 1.1.1.1, เซิร์ฟเวอร์: my.localhost .com, คำขอ: "POST /?/Test/ HTTP/1.1", โฮสต์: "my.localhost.com"
2022/03/18 18:29:08 [debug] 10022#0: *12 โพสต์เฟสเขียนใหม่: 4
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 5
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 6
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 7
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 8
2022/03/18 18:29:08 [debug] 10022#0: *12 เฟสการเข้าถึง: 9
2022/03/18 18:29:08 [debug] 10022#0: *12 เฟสการเข้าถึง: 10
2022/03/18 18:29:08 [debug] 10022#0: *12 เฟสการเข้าถึง: 11
2022/03/18 18:29:08 [debug] 10022#0: *12 เฟสการเข้าถึงโพสต์: 12
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 13
2022/03/18 18:29:08 [แก้ปัญหา] 10022#0: *12 เฟสทั่วไป: 14
2022/03/18 18:29:08 [debug] 10022#0: *12 เฟสเนื้อหา: 15
2022/03/18 18:29:08 [debug] 10022#0: *12 เฟสเนื้อหา: 16
2022/03/18 18:29:08 [debug] 10022#0: *12 open index "/var/www/test/public_html/index.php"
2022/03/18 18:29:08 [debug] 10022#0: *12 เปลี่ยนเส้นทางภายใน: "/index.php?/Test/"
2022/03/18 18:29:08 [debug] 10022#0: *12 รีไรท์เฟส: 1
2022/03/18 18:29:08 [debug] 10022#0: *12 ตำแหน่งทดสอบ: "/"
2022/03/18 18:29:08 [debug] 10022#0: *12 ตำแหน่งทดสอบ: ~ "\.php$"
2022/03/18 18:29:08 [debug] 10022#0: *12 using configuration "\.php$"
    

ฉันต้องการเปลี่ยนเส้นทางคำขอที่เข้ามาทั้งหมดไปยังเซิร์ฟเวอร์อื่นด้วยวิธีเดียวกันให้เสร็จสมบูรณ์

drookie avatar
za flag
'?' ตัวอักษรเป็นตัวคั่นซึ่งอยู่ระหว่างอาร์กิวเมนต์ URI และ GET รับอาร์กิวเมนต์ถูกเก็บไว้ใน $arg_ ตัวแปร ไม่อยู่ใน $query_string; นอกจากนี้ ในกรณีของคุณ ชื่อของอาร์กิวเมนต์ Get ผิดรูปแบบเนื่องจากเริ่มต้นด้วยเครื่องหมายทับ ดังนั้นคุณจึงไม่สามารถอ้างอิงได้ นั่นคือปัจจัยหลายประการที่นำคุณไปสู่ความล้มเหลว
us flag
ฉันจัดรูปแบบข้อมูลโค้ดการกำหนดค่าที่คุณมีในคำถามของคุณใหม่ คุณแน่ใจหรือว่ามีลักษณะเช่นนั้น? ไม่มีการปิด `}` สำหรับตำแหน่งรูท
djdomi avatar
za flag
ฉันเห็นด้วยกับ drookie แต่ในใจ เป็นไปได้ไหมที่จะใช้โดเมนย่อยสำหรับคำขอของคุณ เนื่องจากโดยทั่วไปจะรักษาโครงสร้างไว้ แต่อาจถูก proxy_pass'ed ไปยังเซิร์ฟเวอร์อื่น
M. Jeremy avatar
ru flag
@drookie ขอบคุณสำหรับคำตอบ เทโร คิลคาเนน: ผมใส่โค้ดลงไปแล้ว ป้ายปิดอยู่ด้านล่าง ฉันขอโทษ. djdomi: ฉันทำงานและพยายามแต่ไม่ได้ทำ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา