Score:0

nginx: บล็อกตำแหน่งสำหรับ URI ทั้งหมดที่ไม่มีส่วนขยาย

ธง cn

ฉันรู้วิธีประมวลผล URI ที่ตรงกับรูปแบบที่กำหนด

ตัวอย่าง

การกำหนดค่าต่อไปนี้จะเพิ่ม http-header ของ Cache-Control ไปยังไฟล์ทั้งหมดที่ลงท้ายด้วย .css หรือ .js:

ตำแหน่ง ~* \.(css|js)$ {
  add_header Cache-Control "public, max-age=31536000, ไม่เปลี่ยนรูป" เสมอ;
}

คำถาม

ฉันจะประมวลผล URI ทั้งหมดโดยไม่มีส่วนขยายได้อย่างไร

สิ่งที่ต้องการ www.domain.tld/my-article.

(ฉันใช้ nginx เป็น reverse-proxy และเพิ่มนามสกุล .html ใน .htaccess.)

Richard Smith avatar
jp flag
ดังนั้นองค์ประกอบเส้นทางสุดท้ายจึงไม่มี `.` ตัวอย่างเช่น: `location ~ /[^./]+$`
Score:2
ธง us

วิธีปกติคือ:

ที่ตั้ง / {
    # อย่างอื่น
}

ตำแหน่ง ~* \.(?:css|js)$ {
    add_header Cache-Control "public, max-age=31536000, ไม่เปลี่ยนรูป" เสมอ;
}

เอกสารคำสั่งตำแหน่ง nginx อธิบายรายละเอียดว่า nginx ประเมินความแตกต่างอย่างไร ที่ตั้ง บล็อก

Sr. Schneider avatar
cn flag
ในตัวอย่างข้างต้น `\.(?:css|js)$` เหมือนกับ `\.(css|js)$` หรือไม่
us flag
`?:` บอกเครื่องมือนิพจน์ทั่วไปไม่ให้จับส่วนเป็นตัวแปร สิ่งนี้ทำให้นิพจน์เร็วขึ้นเล็กน้อย

โพสต์คำตอบ

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