结论:伪静态 404 基本都是「请求没被转发到 index.php」,在服务器上补一条转发规则就好,不需要去后台配一堆重写规则。
① Nginx:在站点配置里加 try_files $uri $uri/ /index.php?$query_string; 保存后重载 Nginx 生效。
② Apache:确认站点允许 .htaccess 生效(AllowOverride All),并且根目录下确实有 .htaccess 文件,它负责把非静态请求交给 index.php。
③ 别自己手写规则:系统会自动识别 .html 后缀的 URL,你只要保证非静态文件请求都进 index.php,额外堆砌的重写规则反而容易互相冲突。
④ 还是 404 就回头查站点地址:后台「基本设置」里要填带 https:// 的主域名,www 与裸域混用会引发一串诡异问题,包括跳转后 404 和登录态丢失。
正式会员
认证极客





