これはしばらくの間Google検索してきましたが、解決策を見つけることができません。Nginx - .phpを含むすべてのリクエストを単一のPHPスクリプトにリダイレクトしますか?
現時点では、単一のindex.phpファイルにファイルの拡張子に関係なくすべての要求を送信するようにNginxで設定ファイルを設定しています。ただし、.phpで終わるリクエストは無視され、存在しない場合は404がスローされます。そうでない場合は404がスローされます。
index.phpファイルに.phpリクエストを送信するようにNginxを設定するにはどうすればいいですか?非PHPファイルだけでなく、すべてのファイルリクエストを処理するために使用することができますか?
私の設定ファイルは現在、次のようになります。
server {
listen 80;
listen 443;
ssl on;
ssl_certificate /somecrt.crt;
ssl_certificate_key /somekey.key;
root /sites/;
index index.php;
server_name somesite.net;
access_log /sites/logs/access.log;
error_log /sites/logs/error.log;
location ~ /\. { deny all; }
location/{
# First attempt to serve request as file, then
# as directory then fall back to index.php
try_files $uri $uri/ /index.php?$args;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location ~ \.php$ {
try_files $uri /index.php?$args =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
は 'try_files $ uriの/index.php?$args = 404から' $のuri'を削除するようにしてください; '(PHPファイル用)、$ URIあなたのPHPファイルであり、ファイルが存在する場合はindex.phpの前にアクセスしようとします。 –
'index.php'ファイルでリソースファイルを使用していますか?私はなぜドキュメントルート内に他の '.php'ファイルがあるのか理解できていません。 –