Opencart 重定向定义的路线

Opencart redirect defined routes

我有几条未使用的路线,正在寻找重定向这些路线的解决方案。

例如我有['common/cart','affiliate/edit' ]

路由数组,我可以在哪里添加检查以检查路由是否在此数组中重定向到 404?我认为可以在 /controller/common/seo_url.php 中完成?

有很多地方可以添加重定向条件,最重要的是避免更改核心库的代码,所以我认为最好的地方是index.php

  • 打开文件<OC_ROOT>/index.php
  • 搜索此代码片段:
if (isset($request->get['route'])) {
    $action = new Action($request->get['route']);
} else {
    $action = new Action('common/home');
}
  • isset 部分,您可以检查变量 $request->get['route'] 是否匹配您的任何过时路由并在此基础上重定向,例如:
if (isset($request->get['route'])) {
    $ignored_routes = array('common/cart', 'affiliate/edit');
    if(in_array($request->get['route'], $ignored_routes))
        $action = new Action("error/not_found");
    else
        $action = new Action($request->get['route']);
} else {
    $action = new Action('common/home');
}


P.S: 你的假设是错误的,在文件里做不到/controller/common/seo_url.php , 你要的是 <OC_ROOT>/system/engine/action.php ;)