สมมติว่าผู้ใช้พยายามเข้าถึงภาพที่กำหนดในเว็บไซต์ของฉันโดยใช้ URL ต่อไปนี้:
http://www.mywebsite.com/blog/image1.jpg?someParam=100
ฉันต้องการกฎการเขียนซ้ำเพื่อลบโหนด 'บล็อก' ออกจากเส้นทาง:
http://www.mywebsite.com/image1.jpg?someParam=100
สมมติว่าผู้ใช้พยายามเข้าถึงภาพที่กำหนดในเว็บไซต์ของฉันโดยใช้ URL ต่อไปนี้:
http://www.mywebsite.com/blog/image1.jpg?someParam=100
ฉันต้องการกฎการเขียนซ้ำเพื่อลบโหนด 'บล็อก' ออกจากเส้นทาง:
http://www.mywebsite.com/image1.jpg?someParam=100
คำตอบ:
ลองอันนี้:
location /blog {
rewrite ^/blog(/.*)$ $1 last;
}
หากคุณต้องการสิ่งนี้มากกว่าหนึ่งเว็บไซต์คุณจะไม่สามารถเพิ่มลำดับชั้นให้สูงขึ้นได้เพราะไม่สามารถระบุข้อ "ตำแหน่งที่ตั้ง" ได้ทั่วโลกเฉพาะไซต์ที่ต้องการเท่านั้น หากคุณต้องการเพิ่มข้อนี้สำหรับสองเว็บไซต์ขึ้นไปคุณสามารถใส่มันไว้ในไฟล์ config อีกอันจากนั้นเพียง "รวม" ไว้ในแต่ละเว็บไซต์ที่ต้องการเปลี่ยนเส้นทางนี้
rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;