NGINX 在给定路径时呈现 PHP 个文件,在没有路径的情况下将索引用作下载
NGINX renders PHP files when given path, serves index as download without a path
我当前的 NGINX 和 PHP-FPM 设置在给定一个工作文件路径时可以正常工作。com/index.php,但仍然提供 index.php 作为下载在没有文件的情况下访问 example.com 时。
我已经尝试添加位置/重定向和 try_files,但它仍然无法正确重定向。
我知道它是如何使用 .htaccess 文件完成的,但我想在 NGINX 中这样做以避免更改每个存储库。
这是我当前的配置文件。
server {
server_name example.com;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri $uri/ =404;
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
从 location ~ \.php$ {
中删除 try_files $uri $uri/ =404;
。
我当前的 NGINX 和 PHP-FPM 设置在给定一个工作文件路径时可以正常工作。com/index.php,但仍然提供 index.php 作为下载在没有文件的情况下访问 example.com 时。
我已经尝试添加位置/重定向和 try_files,但它仍然无法正确重定向。
我知道它是如何使用 .htaccess 文件完成的,但我想在 NGINX 中这样做以避免更改每个存储库。
这是我当前的配置文件。
server {
server_name example.com;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri $uri/ =404;
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
从 location ~ \.php$ {
中删除 try_files $uri $uri/ =404;
。