试图让 nginx 与X-Accel-Redirect
标题一起工作。我收到此错误:
*24 rewrite or internal redirection cycle while internally redirecting to "/app/index.php", client: 127.0.0.1, server: project.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "project.dev"
nginx 站点配置文件:
server {
listen 80;
server_name project.dev;
root /www/project;
location ^~ /f/ {
internal;
alias /www/project/files/;
}
location / {
try_files $uri /app/index.php$is_args$args;
}
include php.conf;
include apache.conf;
}
/www/project/app/index.php
<?php
header('X-Accel-Redirect: /f/image.jpg');
exit;
我添加^~
到位置块,因为我认为这会终止位置块的匹配,从而解决这个问题。这可能是我的误解。
知道如何解决这个问题吗?
使用 php.conf 和 apache.conf 更新
配置文件:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
阿帕奇.conf:
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
您还没有告诉 nginx 要查找的索引文件。
尝试添加
在 root 指令之后。
看起来我未能重新启动我的 nginx 服务器。几天后当我回到这里时,它突然工作了,我意识到它一定是在重新启动之后。抱歉浪费您的时间。
现在,如果我只能让它发送正确的
Content-type
标头..