Cấu hình Nginx tôi đã ném 404 cho .php
like:
## Any other attempt to access PHP files returns a 404.
location ~* ^.+\.php$ {
return 404;
}
Tuy nhiên tôi có một số tệp index.php trong thư mục con mà tôi muốn chạy. Cấu hình hiện tại giống như:
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;
}
nó hoạt động hoàn hảo, nhưng vấn đề là các vị trí trùng lặp và nếu có nhiều trang con thì cấu hình sẽ trở nên rất lớn.
Tôi đã thử ký tự đại diện như * và một số regex, cho biết thử nghiệm nginx đã vượt qua nhưng không tải trang tức là 404. Những gì tôi đã thử là:
location = /sitename/*/index.php {
fastcgi_pass phpcgi;
}
location ~* ^/sitename/[a-z]/index.php$ {
fastcgi_pass phpcgi;
}
Có cách nào tôi có thể có một số tên đường dẫn trong vị trí là regex hoặc ký tự đại diện không?
+
Đã sửa nó.