Score:1

nginx - 301 เปลี่ยนเส้นทาง URL ผิดที่ใช้กับเว็บไซต์ภายนอก

ธง uz

ด้วยเหตุผลบางประการ เว็บไซต์ภายนอกบางแห่งมีลิงก์ไปยังเว็บไซต์ subdomain.example.com ของฉันที่มีลักษณะดังนี้: <a href="https://subdomain.example.com/https://subdomain.example.com/index.php?id=54597">Link</a>

ฉันไม่สามารถแก้ไขลิงก์เหล่านี้ได้ เนื่องจากฉันไม่สามารถควบคุมลิงก์เหล่านี้ได้ แทนที่จะแสดงข้อผิดพลาด 404 ฉันต้องการเปลี่ยนเส้นทาง https://subdomain.example.com/https://subdomain.example.com/index.php?id=54597 ถึง https://subdomain.example.com/index.php?id=54597 ผ่าน nginx แต่ฉันไม่สามารถหาตำแหน่งที่ตรงกันได้ เมื่อมีเครื่องหมายโคลอน มีวิธีที่จะทำให้สิ่งนี้ใช้งานได้หรือไม่?

สิ่งที่ต้องการ

ตำแหน่ง ~ "^https://subdomain.example.com/index.php$" {
  ส่งคืน 301 /index.php?$query_string;
}
Score:2
ธง jp

URI ทั้งหมดใน Nginx เริ่มต้นด้วยคำนำหน้า / และถูกทำให้เป็นมาตรฐานเพื่อลบติดต่อกัน //ส.

คุณควรเปลี่ยนนิพจน์ทั่วไปเป็น: ^/https:/subdomain\.example\.com/index\.php$ และวางไว้ ข้างต้น เดอะ ที่ตั้ง บล็อกที่ตรงกับ URI ที่ลงท้ายด้วย .php.

หรือใช้ = ตัวดำเนินการเพื่อให้ตรงกับ URI เดียว ตัวอย่างเช่น:

สถานที่ = /https:/subdomain.example.com/index.php {
    ส่งคืน 301 /index.php$is_args$args;
}

ดู เอกสารนี้ สำหรับรายละเอียด

โพสต์คำตอบ

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