私が持っているNginxの設定は、次の.php
ように404を投げます:
## 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;
}
それは完全に機能しますが、問題は場所の重複であり、サブページが多数ある場合、構成は巨大になります。
*のようなワイルドカードといくつかの正規表現を試してみました。nginxテストは合格しましたが、ページ、つまり404は読み込まれません。
location = /sitename/*/index.php {
fastcgi_pass phpcgi;
}
location ~* ^/sitename/[a-z]/index.php$ {
fastcgi_pass phpcgi;
}
正規表現またはワイルドカードとして場所にパス名を持つことができる方法はありますか?
+
それを修正しました。