2015-09-24 1 views
0

У меня есть несколько неиспользуемых маршрутов и поиск решений для перенаправления этих маршрутов.Переопределить перенаправленные пути

Например, у меня есть ['common/cart','affiliate/edit' ]

массив маршрутов, и где я могу добавить проверку, чтобы проверить Если маршрут в этом массиве перенаправлять на 404? Я думаю, что это можно сделать в /controller/common/seo_url.php?

ответ

1

Есть много мест, где вы можете добавить свои условия переназначения, самое главное, избегая изменения коды основных библиотек, поэтому я думаю, что самое лучшее место было бы в 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'); 
} 


PS: Ваше предположение неверно, вы не можете сделать это в файле /controller/common/seo_url.php, то, что вы хотите, это <OC_ROOT>/system/engine/action.php;)