测试公告
  • admin

    刚把论坛从 Apache 迁到 Nginx,首页能开,一点帖子就 404,基本可以断定是伪静态(rewrite)没配好。

    ## 排查步骤

    1. 先确认 Nginx 配置里有没有 `try_files` 这一段:

    ```nginx
    location / {
    try_files $uri $uri/ /index.php?$query_string;
    }
    ```

    2. 改完配置记得重载:`nginx -s reload`,光保存文件不生效。
    3. 如果用了宝塔面板,检查网站设置里的"伪静态"是不是选成了别的程序的规则。

    ## 常见坑

    - 多站点共用配置,改错了 server 块
    - CDN 缓存了 404 页面,排查时先绕过 CDN 直接访问源站
    - `location ~ \.php$` 块写在前面把请求截走了

    我最后发现是宝塔的伪静态模板选错了,换成通用 PHP 模板就好了。

    主楼
  • admin

    补充一个 Apache 用户的:`.htaccess` 里确认有这几行,`mod_rewrite` 也要开:

    ```apache
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L,QSA]
    ```

    另外虚拟主机用户没有服务器权限的话,直接找服务商开 rewrite 就行。

    #1
  • admin

    再补个排查技巧:Nginx 的 `error.log` 开 debug 看一眼,rewrite 阶段一目了然。

    ```nginx
    error_log /var/log/nginx/error.log debug;
    ```

    看完记得关掉,日志涨得飞快。

    #2

发表回复

登录后回复