nginx+PHPが構築されているサーバにあるスクリプトを入れたのですが、PHPスクリプトをXHRで呼び出すときに****.php/****/
のURLにアクセスできていないことがわかりました。アクセスしても404
返ってきます。
****.php
でアドレスが終わっているものはアクセスできます。
試しに、普段使用しているWindowsPCにXAMPPを導入して、同じスクリプトを置いてブラウザで開いてみましたが****.php/****/
の形のファイルも200 OK
で開けてました。
この問題が発生している環境は、CentOS7.1+nginx1.9.5+php-fpmで、HTTP2.0(SSL)で動作しています。
解決策をご存知でしたらお教え下さい。
[追記]nginxの設定内容です(default.conf)
confを記載している時に気づいたのですが、location ~ \.php$
に原因があるのかなと思いました。
しかし****.php/****/
に対応させるにはどう書けばよいのか分かりません。
server { client_max_body_size 20m; listen 80 ssl http2; #実際はは80番では運用しません ssl_certificate *****; ssl_certificate_key ****; server_name ****; gzip on; gzip_types text/css text/javascript; location / { root /var/www/html index index.html index.php; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { #location ~ [^/]\.php(/|$) { に変えることで解決しました root /var/www/html; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; #ソケットを使っています .phpで終わるものはアクセスできます fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
回答1件
あなたの回答
tips
プレビュー