Score:1

ตำแหน่งเปลี่ยนเส้นทางจากโดเมนไปยังอีกที่หนึ่งใน nginx

ธง cn

ฉันต้องการเปลี่ยนเส้นทางสถานที่ play.example.com/u/<รหัสผู้ใช้> ถึง example.com/u/<รหัสผู้ใช้> และ play.example.com/b/<รหัสเกม> ถึง play.example2.net/b/<รหัสเกม>

ในขณะที่มีตัวเลือกสำหรับเว็บไซต์ด้วย (webroot และ api ซึ่งฉันโฮสต์ในโดเมนเดียวกัน) ฉันจะประสบความสำเร็จได้อย่างไร

Score:4
ธง us

หากฉันเข้าใจคำถามของคุณถูกต้อง สิ่งนี้น่าจะใช้ได้:

เซิร์ฟเวอร์ {
  server_name play.example.com;

...

  ตำแหน่ง ~ ^/u/(.*)$ {
    ส่งคืน 301 $scheme://example.com/u/$1;
  }

  ตำแหน่ง ~ ^/b/(.*)$ {
    ส่งคืน 301 $scheme://play.example2.net/b/$1;
  }
}
us flag
คำตอบที่แก้ไขแล้ว โปรดลอง มี regex อยู่ในตำแหน่ง คุณสามารถตรวจสอบรหัสผู้ใช้และรหัสเกมด้วยสัญลักษณ์ ในขณะนี้อนุญาตให้ใช้ข้อความใด ๆ หลังจากตำแหน่งเหล่านี้
us flag
เป็นแนวปฏิบัติที่ดีในการใช้จุดยึดเริ่มต้น `^` เป็นอย่างน้อยในนิพจน์ทั่วไป: `location ~ ^/u/(.*) {` บล็อกตำแหน่งปัจจุบันตรงกับ `.*/u/` ซึ่งตรงกันกว้างเกินไป
us flag
ใช่ คุณพูดถูก ฉันแก้ไขคำตอบแล้ว ขอบคุณ

โพสต์คำตอบ

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