【问题标题】:Codeigniter url management for two ends i.e End User & Admin两端的 Codeigniter url 管理,即最终用户和管理员
【发布时间】:2015-06-11 07:29:54
【问题描述】:

基本上我想区分最终用户和管理员的 URL。
根据 CodeIgniter 规则 url 作为

www.mysite.com/[controller]/[method]

1) 最终用户的网址管理
当用户看到我的页面 url 应该与 codeigniter 规则相同,即

www.mysite.com/[controller]/[method]

2) Admin 的网址管理
但我想添加一个独特的片段/control/ 为管理员服务

www.mysite.com/control/[controller]/[method]

基本上在这里我只想添加一个段来区分我的管理员访问权限和最终用户


我在.htaccess 中使用了一些rewrite rules 作为
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

如果可能,请给我一个解决方案
非常感谢

【问题讨论】:

标签: .htaccess codeigniter codeigniter-url codeigniter-3


【解决方案1】:

如果您只希望 URL 看起来不同,可以将其添加到您的 config/routes.php 文件中:

$route['control/([a-z]+)'] = '$1/index'; //edited in for default index access
$route['control/([a-z]+)/([a-z]+)'] = '$1/$2'; // $1 = controller, $2 = method

或者您可以在您的控制器文件夹中添加一个实际的文件夹“控件”,并将任何与管理员相关的控制器放入其中;即让您的 URL 结构反映您的控制器文件夹结构。

【讨论】:

  • 谢谢亲爱的,这两个东西都在工作,但默认情况下不调用$route['control/([a-z]+)/([a-z]+)'] = '$1/$2'; // $1 = controller, $2 = method index 方法
  • 尝试在我设置的规则之前添加$route['control/([a-z]+)'] = '$1/index';
猜你喜欢
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 2017-03-09
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
相关资源
最近更新 更多