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

Nginx论坛子域名服务器块无法正确重定向,访问时跳转至网站根目录

Nginx论坛子域名服务器块无法正确重定向,访问时跳转至网站根目录

嘿,我瞅了下你的问题和错误日志,发现核心问题是你的论坛子域名server块根本没被Nginx匹配到!你看错误日志里的server: _,这代表请求走的是Nginx的默认server配置,而不是你专门为forum.project-freedom.net写的那个块,所以才会去/var/www/html(主站目录)找文件,自然就跳转到根目录了。

给你几个排查和修复的步骤,按顺序来:

  • 先确认论坛的server配置是否真的启用了
    虽说你说已经启用了,但再仔细核对下:运行ls -l /etc/nginx/sites-enabled/,看看里面有没有指向你论坛配置文件的软链接?如果没有的话,赶紧用这条命令补上:

    ln -s /etc/nginx/sites-available/你的论坛配置文件名 /etc/nginx/sites-enabled/
    
  • 检查默认server块是否抢占了请求
    打开/etc/nginx/sites-available里的默认配置(通常叫default),看看里面的listen指令是不是带了default_server,比如:

    listen 80 default_server;
    listen [::]:80 default_server;
    

    如果是的话,这个默认块会接住所有没匹配到对应server_name的请求。解决办法优先选这个:把默认块的server_name改成你的主域名(比如server_name project-freedom.net;),这样论坛的请求就会精准匹配到你专门写的块。

  • 验证Nginx配置语法,重新加载配置
    先运行nginx -t检查配置有没有语法错误,要是报错了就根据提示修复(比如括号没关、路径写错之类的)。确认没问题后,重新加载配置让改动生效:

    sudo systemctl reload nginx
    
  • 清浏览器缓存试试
    错误日志里提到了service_worker.js,这可能是主站的PWA缓存在搞鬼,导致浏览器还在走旧的重定向规则。用隐私模式访问论坛,或者清掉浏览器缓存再试试。

另外,给你调整后的论坛server块参考,加上IPv6的监听,确保覆盖所有请求:

server {
    listen 80;
    listen [::]:80;
    server_name forum.project-freedom.net;

    root /var/www/forum;
    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}

备注:内容来源于stack exchange,提问作者Michael Griffith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:47:58