Нам приходит довольно много вопросов с просьбой рассказать как изменить адрес панели управления (иными словами "как сменить урл админки"). Некоторым это необходимо просто для себя, некоторым чтобы удовлетворить босса, привыкшего к /bitrix-admin/, некоторые считают, что таким образом делают свой ресурс более безопасным. В этой заметке мы расскажем как просто и быстро это сделать. Для начала вам необходимо ознакомиться с документацией по Yii, касающейся URL-роутинга, после чего прочитать про то, как Юпи! работает с конфигурационными файлами модулей. Поехали!
Правила роутинга для панели управления описаны вот в этих строчках основного конфигурационного файла https://github.com/yupe/yupe/blob/master/protected...
Как видно из настроек, по умолчанию панель управления сайтом доступна как http://mysite.ru/backend мы же хотим сделать чтобы "админка" была доступна как http://mysite.ru/admin
Для этого нам понадобится отредактировать всего один файл, а именно project.php Когда "Юпи!" производит слияние конфигов модулей, конфигов из userspace и основного конфига main.php, последним сливается именно файл project.php. Таким образом настройки, прописанные в этом файле имеют более высокий приоритет над всеми остальными (иными словами они их просто "перетрут"). Для переопределения урл-ов админки нам именно это и необходимо.
Итоговый файл project.php должен выглядеть вот так https://gist.github.com/yupe/93fb9d66a94d97bccf27:
<?php
return [
'component' => [
'request' => [
'class' => 'yupe\components\HttpRequest',
// пути, исключенные из csrf-валидации
'noCsrfValidationRoutes' => ['admin/AjaxImageUpload', 'admin/AjaxFileUpload'],
]
],
'rules' => [
// старые пути к панели управления теперь отдают 404-ую ошибку
'/backend' => false,
'/backend/login' => false,
'/backend/<action:\w+>' => false,
'/backend/<module:\w+>/<controller:\w+>' => false,
'/backend/<module:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>' => false,
'/backend/<module:\w+>/<controller:\w+>/<action:\w+>' => false,
'/backend/rbac/<controller:\w+>/<action:\w+>/<id:[\w._-]+>' => false,
//csrf
'/backend/AjaxImageUpload' => false,
'/backend/AjaxFileUpload' => false,
// новые пути для панели управления
'/admin' => '/yupe/backend/index',
'/admin/login' => '/user/account/backendlogin',
'/admin/<action:\w+>' => '/yupe/backend/<action>',
'/admin/<module:\w+>/<controller:\w+>' => '/<module>/<controller>Backend/index',
'/admin/<module:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>' => '/<module>/<controller>Backend/<action>',
'/admin/<module:\w+>/<controller:\w+>/<action:\w+>' => '/<module>/<controller>Backend/<action>',
'/admin/rbac/<controller:\w+>/<action:\w+>/<id:[\w._-]+>' => 'rbac/<controller>Backend/<action>',
]
];
После этого необходимо сделать еще две вещи:
После этого адрес панели управления будет http://mysite.ru/admin
Вот такой вот короткий, но полезный рецепт.
О чем вам еще хотелось бы узнать ?