我在 ISPConfig3 服务器上使用 nginx 和 PHP-FPM。
我将以下重写规则放在我的 nginx 指令中(在 Pydio 中制作更漂亮的链接):
location ~ \.php$ {
try_files @php;
}
location @php {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9026;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
proxy_set_header X-Accel-Mapping /var/www/XXXYYY.com/pydio/data/=/data/;
location /conf/ { deny all; }
location /data/ { internal; }
location /data/public/ {
try_files $uri $uri.php =404 last;
}
我希望 pydio.XXXYYY.com/data/public/* 中的 URL 添加 .php 扩展名。此规则在地址栏中查找没有 .php 的文件,但现在它们被下载而不是执行。
由于我使用 ISPConfig3,.php 文件的重写(让它们由 PHP-FPM 执行)高于所述部分。但我认为添加“最后一个”应该解决这个问题。
我还能尝试什么?谢谢!