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

如何在CodeIgniter中配置routes.php重定向旧PHP路由?

旧URL到新URL的路由重定向实现方案

嘿,这个重定向需求很好解决!针对你说的旧URL http://example.com/products.php?s_productid=231 要跳转到新URL http://example.com/products/ver/231 的情况,我假设你用的是Laravel框架(毕竟提到了routes.php),直接给你写好规则和解释:

核心实现代码(routes.php中添加)

Route::get('products.php', function (\Illuminate\Http\Request $request) {
    // 提取旧URL中的产品ID参数
    $productId = $request->query('s_productid');
    
    if ($productId) {
        // 301永久重定向到新格式URL(对SEO友好)
        return redirect()->to("/products/ver/{$productId}", 301);
    }
    
    // 如果没有产品ID参数,跳转到产品列表页(可根据需求调整)
    return redirect()->to('/products', 301);
});

关键细节说明

  • 状态码选择:用301永久重定向是最优解,搜索引擎会把旧URL的权重转移到新URL上,适合已经确定的URL结构变更;如果是临时调整,换成302即可。
  • 参数校验:加了if ($productId)的判断,避免无参数时出现无效跳转,你可以根据实际需求修改无参数时的跳转目标(比如跳404页)。
  • 框架适配:如果你的项目不是Laravel,核心思路是一致的:匹配旧路径→提取查询参数→构造新URL并返回重定向响应,只是语法会根据框架不同略有调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:13:47