我正在嘗試製作一個下載腳本,它可以捕獲/ 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