我目前正在使用具有特定体系结构的系统(不是我的)。在主应用程序文件夹中,有一个共同的资产和另外两个具有相同资产的文件夹(用户和管理员),这为我们提供了这种架构:
在根文件夹中,有2个文件:user.php
和admin.php
,除了行外,每个文件都具有与经典index.php
相同的代码
$application_folder = 'application/admin';
到目前为止,代码正在运行...但是我发现了一个奇怪的反应。
在控制器下的文件夹admin
中,我正在调用一个方法,该方法可以工作,除了一件事之外...视图未正确加载。
在所有其他方法中,我都有这种代码,只有一个参数:
public function results($param){
$data = [];
//some other code
$this->load->view("election/header");
$this->load->view("election/menu");
$this->load->view("election/results", $data);
$this->load->view("election/footer");
}
这是完美的工作方式,但是当我有了第二个参数时,奇迹般地,该方法不再显示页眉/菜单/页脚。仅自定义视图result
...
我还发现,例如,如果我向预览方法results
中随机添加另一个参数,则会发生相同类型的错误。页眉/页脚/菜单通常不再显示。
我想路由/ htaccess或网段有问题...但是我不能把手放在上面...
这是根.htaccess
文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^kanri(/(.*))?$ admin.php?/$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user(/(.*))?$ user.php?/$2 [L]
</IfModule>
还有admin/routing.php
$route['default_controller'] = 'login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
感谢您的时间!
答案 0 :(得分:0)
感谢D. Dimitrov,解决方案很简单。我只需要使用site_url()
函数来替换相对路径。我还不完全知道为什么,但是既然可以了,那就全是傻瓜了:>