Phi*_*Web 3 controller routes codeigniter
我有路由和控制器的问题.我有两种类型的控制器:第一种类型用于管理网页,第二种类型用于cms,我更喜欢将它们放在子文件夹中.例:
/controller/site.php (for webpages)
/controller/admin/ (for controllers to manage cms)
Run Code Online (Sandbox Code Playgroud)
在routes.php我写道:
$route['(:any)'] = "site/$1";
$route['admin/(:any)'] = "admin/$1";
Run Code Online (Sandbox Code Playgroud)
我有这样设置的文件.htacces:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt|css|js|font|woff|ttf|svg|eot|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)
和config.php上的这个变量:
$config['index'] = '';
Run Code Online (Sandbox Code Playgroud)
但它只适用于"网站".例如,如果我写"mywebsite/admin/login",则返回404错误.
我发现MY_Router也扩展了CI_Route但不起作用.
有人可以帮我解决这个问题吗?
sto*_*ain 10
把admin路线放在路线前any:
$route['admin/(:any)'] = "admin/$1";
$route['(:any)'] = "site/$1";
Run Code Online (Sandbox Code Playgroud)
否则它将始终命中any并重定向到site.在匹配admin之前你必须给它一个匹配的机会any.
| 归档时间: |
|
| 查看次数: |
14577 次 |
| 最近记录: |