安装 joomla 时我遇到与响应标头相关的问题。
在安装过程中,向服务器发送一个 ajax post 请求,其响应状态为303
!200
因此 ajax 回调不会触发,安装中断。
我认为这个问题与 nginx 配置有关,因为我在 apache 本地服务器上测试过,没有问题。
nginx 访问日志:
POST /installation/index.php HTTP/1.1" 303 5 "http://.../installation/index.php" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"
apache(本地)访问日志:
"POST /joomla-test/installation/index.php HTTP/1.1" 200 286
nginx 配置:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass_header Status; <-- tested but not work !
include fastcgi.conf;
}
答案1
HTTP 303 是重定向。
您提供的配置片段中没有任何地方会创建任何重定向。因此,我相信它来自您提供的块中正在处理的 PHP 文件:您需要检查 PHP 应用程序以修复此不希望的重定向。