Score:0

Regex เพื่อลบรูปแบบบางอย่างออกจาก URL

ธง cn

ดังนั้นฉันจึงพยายามหลายครั้ง แต่ก็ไม่มีประโยชน์

โดยพื้นฐานแล้ว สิ่งที่ฉันพยายามทำคือตรวจสอบว่า URL มีภาษาเฉพาะหรือไม่ และลบออกและเปลี่ยนเส้นทาง 301 ไปยัง URL หลักโดยไม่มีภาษานั้น ตัวอย่างเช่น ฉันมี...

www.domain.com/mx/en-us/product/asset/23456768
www.domain.com/de/en-gb/product/asset/34565768
www.domain.com/ar/en-us/product/asset/34567788
www.domain.com/ar/en-us/affiliates

รูปแบบที่ฉันต้องการลบคือกรณีใด ๆ /en-เรา หรือ /en-gb. ดังนั้น URL ใหม่จะมีลักษณะดังนี้...

www.domain.com/mx/product/asset/23456768
www.domain.com/de/product/asset/34565768
www.domain.com/ar/product/asset/34567788
www.domain.com/ar/affiliates

ฉันมีสิ่งนี้ แต่มันใช้งานไม่ได้ใน NGINX

เซิร์ฟเวอร์ {
    เขียนใหม่ ^/en-us(.*)$ $1 สุดท้าย;
    เขียนใหม่ ^/en-gb(.*)$ $1 สุดท้าย;
    กลับ 301;
  }

ฉันพลาดอะไรไปรึเปล่า? ฉันไม่ควรใช้การเขียนซ้ำหรือไม่? สามารถทำได้ในบรรทัดเดียวหรือไม่

yagmoth555 avatar
cn flag
สวัสดี ! สำหรับการแก้ไขใดๆ โปรดลงชื่อเข้าใช้บัญชีของคุณ และบัญชีจะอนุญาตให้คุณแสดงความคิดเห็นกับคนอื่นในโพสต์ของคุณเองด้วย ขอบคุณสำหรับความเข้าใจของคุณ !
Score:1
ธง gr

หาก URI ทั้งหมดของคุณควรตรงกับรูปแบบที่คุณให้ (คำนำหน้าตัวอักษรสองตัวก่อนส่วนโลแคล):

เขียนใหม่ "^(/\w{2})/en-(?:us|gb)(/.*)" $1$2 ถาวร;

(ควรอ้างอิงรูปแบบ regex เนื่องจากการใช้วงเล็บปีกกา)

หากความยาวของคำนำหน้าอาจแตกต่างกันไป:

เขียนใหม่ ^(/\w+)/en-(?:us|gb)(/.*) $1$2 ถาวร;

เพื่อให้ตรงกับส่วนโลแคลทุกที่:

เขียนใหม่ ^(.*)/en-(?:us|gb)/(.*) $1/$2 ถาวร;

โพสต์คำตอบ

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