codeigniter 301 使用路由器重定向旧网址,并且没有重定向

Posted

技术标签:

【中文标题】codeigniter 301 使用路由器重定向旧网址,并且没有重定向【英文标题】:codeigniter 301 redirect with router for old url and remaning no redirect 【发布时间】:2013-12-08 22:31:44 【问题描述】:

我有一个 codeigniter 网站,我正在为此做 SEO,所以问题是大多数 url 都缓存在搜索引擎中,我的旧 url 是什么

/product/details/productname/productid

我的新网址将是

/tours/cityname/productname

我希望我的旧网址使用 301 重定向到新网址,并且新产品网址不要使用 301 重定向,因为它们是新的并且具有相同的 url 结构,因为我在 codeigniter 网站上搜索路由器中的 url 路由.php,它给出了一个重定向的例子

$route['product/(:num)'] = "catalog/product_lookup_by_id/$1";

我认为这是我可以做出改变的地方,但是我怎样才能在这种模式下做一个 301,通过使用标题,或者有更好的方法吗?

【问题讨论】:

【参考方案1】:

我最近遇到了非常相似的情况。 为了从 Google 和链接站点的所有结果中保存 404,我保留了旧路线,但将其指向了新的控制器/功能。 Theis 函数管理 301 重定向。

    public function oldurl_to_newurl()
    
          $newURL = LogicToGetNewURL
          redirect($newURL,'location',301);
    

使用旧 URL 中的段,我查询数据库(如果需要)并创建新 URL。然后它相应地重定向用户。这是我还能够跟踪我的分析的一些指标。

【讨论】:

以上是关于codeigniter 301 使用路由器重定向旧网址,并且没有重定向的主要内容,如果未能解决你的问题,请参考以下文章

根据登录状态使用路由器重定向用户

链接不使用 React DOM 路由器重定向

Apache将位置从新服务器重定向到旧服务器

React Material UI + 路由器重定向按钮

在codeigniter中打开SSL认证网站时,301不会在http上重定向而不是重定向302

尝试使用 301 redirectmatch 重定向旧 URL 是最接近的新 URL