You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配置下子目录/presskit内PHP文件访问异常404问题排查求助

配置存在的问题

  • 多余的alias配置:你已经在server全局声明了根目录为/var/www/html/spreadcamp.com/public_html,/presskit路径默认就会映射到根目录下的presskit子目录,额外配置和根路径完全一致的alias反而会引发路径解析冲突。
  • PHP脚本路径参数错误:alias配置下使用$request_filename作为SCRIPT_FILENAME参数时,Nginx不会按照alias的规则解析路径,会把错误的脚本路径传给PHP-FPM,导致无法找到文件、触发404。
  • 冗余且不稳定的rewrite规则:用if判断实现的重写逻辑可以被更安全稳定的try_files替代,Nginx的if指令在location块中使用存在不少已知的逻辑陷阱,非必要不建议使用。

修正后的配置

将你配置中原有的location ^~ /presskit块整体替换为以下内容即可:

location ^~ /presskit {
    index index.php;
    try_files $uri $uri/ /presskit/index.php$is_args$args;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
}

生效步骤

  1. 执行nginx -t命令测试配置语法是否正确,返回syntax is ok、test is successful再进行下一步
  2. 执行systemctl reload nginx重载Nginx配置,修改即可生效

内容的提问来源于stack exchange,提问作者Shay88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:39:03