我正在尝试制作一个下载脚本,它可以捕获/ files /的所有请求并强制下载。该脚本完全有效,并下载任何文件,我扔在它。问题是,当我试图通过一个文件通过try_files .php扩展名,以下nginx的配置弄乱了:nginx:php文件扩展名不能与try_files一起使用
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl;
listen [::]:443 ssl;
server_name _;
root /var/www/localhost/public_html/;
index index.php index.html index.htm index.txt;
location /files/ {
try_files $uri $uri/ /.thedownloadscript.php?file=$uri;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /public_html$fastcgi_script_name;
include fastcgi_params;
}
ssl_certificate /var/www/server.crt;
ssl_certificate_key /var/www/server.key;
}
/files/file.txt下载文件。
/files/script.php抛出一个404
两个路径应该传递给下载脚本,但都没有。
我试图从“位置〜.php $”块中删除try_files,但这使得它输出“没有指定输入文件”。
我希望有人能帮助我。
在此先感谢。
谢谢,这个工程完全按照我想让它。 – Yani