Php Yii框架-更改模块URL
我的应用程序中有一个名为“admin”的模块,可以通过/mysite/admin访问。为了提高网站的安全性,我想把这个URL改成普通用户难以猜到的东西,只有网站管理员知道 我尝试了urlManager规则,但未能获得所需的结果,例如:Php Yii框架-更改模块URL,php,url,yii,Php,Url,Yii,我的应用程序中有一个名为“admin”的模块,可以通过/mysite/admin访问。为了提高网站的安全性,我想把这个URL改成普通用户难以猜到的东西,只有网站管理员知道 我尝试了urlManager规则,但未能获得所需的结果,例如: 'admin-panel'=>'admin/default/index', 'admin-panel/login'=>'admin/default/login' 但这只适用于这两个URL 所以我现在唯一能想到的就是重命名实际的模块。模块名称在整个
'admin-panel'=>'admin/default/index',
'admin-panel/login'=>'admin/default/login'
但这只适用于这两个URL
所以我现在唯一能想到的就是重命名实际的模块。模块名称在整个应用程序中被大量引用,因此很难做到这一点。有人有其他建议吗 看看权威指南。
像这样的东西应该可以完成这项工作:
array(
'<_c:(admin\-panel)>/<_a>' => 'admin/default/<_a>',
)
数组(
“/”=>“管理员/默认值/”,
)
但您只是在管理模块中“重命名”您的默认控制器,它仍然可以在您的旧URL下访问。尝试添加:
'admin-panel'=>'admin',
'admin-panel/<controller:\w+>'=>'admin/<controller>',
'admin-panel/<controller:\w+>/<action:\w+>'=>'admin/<controller>/<action>',
'admin-panel'=>'admin',
“管理面板/”=>“管理/”,
“管理面板/”=>“管理/”,
规则=>数组(
“管理面板”=>“管理”,
“管理面板//”=>“管理//”,
“管理面板/”=>“管理/”,
“管理面板/”=>“管理/”,
)
但它只是别名-您的管理模块仍然可以通过/admin/URL使用。实际上,您必须检查用户的访问权限,不要试图隐藏您的管理面板。'urlManager'=>数组(
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'module/<module:\w+>/<controller:\w+>/<action:\w+>'=>'<module>/<controller>/<action>',
'module/<m:\w+>/<c:\w+>/<a:\w+>'=>'<m>/<c>/<a>',
)
),
“urlFormat'=>“路径”,
'规则'=>数组(
“模块//”=>“/”,
“模块//”=>“/”,
)
),
是。它正在工作。但它仍然可以在旧的url中使用。是否有其他方法限制或重定向到指定路径?您可以尝试为“admin”设置一个规则,该规则通过Yii生成错误--我不确定这是否会导致问题,否则通过apache设置一些内容(在引导重写之前在.htaccess中放置一个规则)或重命名模块。是。你是对的。但我想知道是否有任何方法可以隐藏、限制旧路径?好吧,如果请求的模块名为“admin”,您可以解析一条路由并抛出403 CHttpException(禁止)。它将用户重定向到/site/error并显示异常消息。
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'module/<module:\w+>/<controller:\w+>/<action:\w+>'=>'<module>/<controller>/<action>',
'module/<m:\w+>/<c:\w+>/<a:\w+>'=>'<m>/<c>/<a>',
)
),