我正在创建一个项目,Code Igniter作为后端框架,Bootstrap 3作为前端框架。
通过直接调用控制器后跟方法来访问我的页面时出现问题。
例如我的控制器是site.php,方法就是家。
这是什么样的。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Site extends CI_controller {
public function index(){
$this->home();
}
public function home(){
$data["title"] ="SmartAgent";
$this->load->view("site_header");
$this->load->view("content_home", $data);
$this->load->view("site_footer");
}
据我所知,方法索引基本上将方法home设置为索引页。
当我在我的网址中输入网址时,例如:
examplesite.co.uk
控制器正确加载我的home方法的视图,即content_home.php,网站加载主页以及标题正确。
但是,如果我输入:
examplesite.co.uk/site/home
这不起作用!我不知道为什么,这进一步导致我的问题,如URL不工作等等。但基本网址设置,我可以加载CSS,JS和图像文件。我也启用了助手,路线和其他所有。
以上网址可以加载我正在处理的另一个项目。所以我知道我错过了什么。
任何想法?
由于
答案 0 :(得分:1)
Codeigniter路由相对于index.php
完成。
因此,您的链接应为examplesite.co.uk/index.php/site/home
。
如果这是问题,那么你需要一个.htaccess文件,并在其中写
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
(如果我没记错的话,请从我的手机写信)
然后,您将从您的网站中删除index.php。
答案 1 :(得分:0)
使用codeigniter,您需要设置$route[]
。这是application/config/routes.php
同时查看关于这个的codeigniter文档,它非常好,并将解释所有。
答案 2 :(得分:0)
感谢大家的帮助和解答!
这是我的一个愚蠢的错误,我想让每个人都知道,如果有人要面对这个问题,这可能会有所帮助。 @Alexey上面的回答给了我一个灯泡时刻!谢谢你。
基本上在.htaccess mod重写文件中,可以从谷歌下载。我忘了更改位于第4行顶部的服务器的目录
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /yourfolderdirectoryhere/
如果您不确定或不清楚,请在下面的教程中查看帮助我。
https://www.youtube.com/watch?v=dynPx1B0jis