.phpを付けなくていいnginxの設定
/var/www/example.net/
├ index.php
├ foo.php
└ hoge/
└ bar.php
とファイルがあるときに
http://example.net/
ではindex.phpが呼び出され、
http://example.net/foo
ではfoo.phpが呼び出され、
http://example.net/hoge/bar
ではbar.phpが呼び出されるようにしたいです。
try_filesも試してみましたが.phpをつけずにphp-fpmにマッチするというのをどういう風に作ればいいのかわかりませんでした。
よろしくお願いします。
追記
現状の nginx ファイルを追記できないでしょうか?try_files も試されたということですが、書き方の問題なのか、設定の問題なのか、情報が少ないため回答がしづらく思います。(try_files で解消されることも多いようですね) – user3758624
現状のnginxファイルは
server {
listen 80;
server_name example.net;
location / {
root /var/www/example.net;
index index.php index.html;
try_files $uri $uri.php $uri.html $uri/ 404.html=404;
}
location ~ \.php$ {
root /var/www/example.net;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
となっていて、
http://example.net/foo.php
では表示できますが、
http://example.net/foo
ではfooというファイルがダウンロードされてしまいます。(php-fpmの条件にマッチしていない?)