config Nginx ฉันมี 404 .php
เช่น:
## Any other attempt to access PHP files returns a 404.
location ~* ^.+\.php$ {
return 404;
}
อย่างไรก็ตามฉันมีไฟล์ index.php อยู่ในโฟลเดอร์ย่อยที่ฉันต้องการเรียกใช้ การกำหนดค่าปัจจุบันมีลักษณะดังนี้:
location = /sitename/subpage/index.php {
fastcgi_pass phpcgi; #where phpcgi is defined to serve the php files
}
location = /sitename/subpage2/index.php {
fastcgi_pass phpcgi;
}
location = /sitename/subpage3/index.php {
fastcgi_pass phpcgi;
}
มันทำงานได้อย่างสมบูรณ์ แต่ปัญหาคือสถานที่ที่ซ้ำกันและหากมีหน้าย่อยมากมายการกำหนดค่าจะกลายเป็นเรื่องใหญ่
ฉันลองใช้ไวด์การ์ดเช่น * และบาง regex ซึ่งระบุว่าผ่านการทดสอบ nginx แต่ไม่โหลดหน้าเว็บเช่น 404 สิ่งที่ฉันลองคือ:
location = /sitename/*/index.php {
fastcgi_pass phpcgi;
}
location ~* ^/sitename/[a-z]/index.php$ {
fastcgi_pass phpcgi;
}
มีวิธีใดบ้างที่ฉันสามารถมีชื่อพา ธ ในตำแหน่งเป็น regex หรือไวด์การ์ด
+
ซ่อมมัน.