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

CI4删除文章后重定向异常:未加载目标/blog页面

CI4删除文章后重定向异常(指向index.php而非/blog)的排查方案

以下是针对性的排查和解决步骤,按优先级排序:

1. 修正重定向代码的写法

务必使用CI4官方推荐的重定向方法,不要用原生PHP的header()函数——CI4的URL助手会自动处理baseURL的拼接,避免路径错误:

  • 直接跳转至指定路径:
    return redirect()->to('/blog');
    
  • 如果你的/blog路由设置了别名(比如$routes->get('/blog', 'Blog::index', ['as' => 'blog']);),更推荐用路由别名跳转:
    return redirect()->route('blog');
    

2. 检查App.php中的baseURL配置

打开app/Config/App.php,确认$baseURL已正确设置为你的站点根路径,例如:

public $baseURL = 'http://localhost:8080/'; // 本地开发环境
// 或生产环境:public $baseURL = 'https://your-domain.com/';

如果$baseURL为空或设置错误,CI4的重定向会默认指向index.php。

3. 验证路由规则的正确性

检查app/Config/Routes.php,确保/blog的路由无冲突且正确注册:

// 示例:绑定Blog控制器的index方法到/blog路径
$routes->get('/blog', 'BlogController::index');

避免存在优先级更高的路由规则拦截/blog的请求。

4. 确认URL重写配置生效

若服务器未配置URL重写,直接访问/blog会被解析到index.php,需确保:

  • Apache服务器:public目录下的.htaccess文件存在且包含CI4默认重写规则:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    
  • Nginx服务器:在站点配置中添加:
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    

5. 清除CI4缓存

CI4可能缓存了路由或配置,执行以下命令清空缓存:

php spark cache:clear
php spark config:clear
php spark route:clear

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:17:17