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
;)
我有几条未使用的路线,正在寻找重定向这些路线的解决方案。
例如我有['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
;)