Codeigniter项目-尝试使用XAMPP

时间:2019-06-01 20:13:01

标签: .htaccess codeigniter indexing view xampp

在XAMPP和当前设置中,我只需键入 https://www.localhost:1234/testsite ,它就会自动将index.php页面加载到目录testsite中,并将其显示在屏幕上。 / p>

有了codeigniter,我知道路由更加复杂,作为一个完整的初学者,我不知道该怎么做才能查看主索引页面。

我想成为主页的索引页(即在键入https://www.localhost:1234/public_html时加载)位于 C:\ xampp \ htdocs \ public_html \ application \ views \ home \ index.php < / strong>

有人可以建议我需要做些什么才能使它正常工作吗?

我已经尝试过:https://www.localhost:1234/public_html/application/views/home,但是不起作用

.htaccess文件,是的,这是一个完整的托管站点,如下所示:我需要在此处进行更改,还是可以删除它以便在localhost上工作?

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

# force ssl
RewriteCond     %{SERVER_PORT} ^80$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

我需要输入什么URL,或更改.htaccess文件,或在其他地方仅加载索引文件,如上所示?

我认为需要对这两行进行更改,但是我不确定是什么?

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

https:///www.%HTTP_HOST}更改为localhost:1234吗?

此外,我知道codeigniter网站上所述的格式:

https://www.localhost:1234/public_html/home/index/index.php

也不起作用,

其中home是控制器(在应用程序中),而index是函数,请参见下文:

class Home extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model('homes');

    }

    public function index()
    {
        //$key = $config['encryption_key'];
        $this->load->view('template/header.php');
        $this->load->view('home/index.php');
        $this->load->view('template/footer.php');
    }

我还如下尝试了localhost:1234 / index.php / home / index,但无济于事。

1 个答案:

答案 0 :(得分:0)

基于您的.htaccess,我假设这是一个完全开发的网站,而不仅仅是空白的CodeIgniter安装。因此,您的大多数.htaccess规则都引用了远程站点或活动站点。

我不能代表您当前的设置,但是基本上默认情况下,没有$num = $_POST['page_num']; $sql = "SELECT * FROM tbl_comment ORDER BY parent_comment_id asc, comment_id asc"; $result = mysqli_query($conn, $sql); $record_set = array(); while ($row = mysqli_fetch_assoc($result)) { array_push($record_set, $row); } mysqli_free_result($result); mysqli_close($conn); echo json_encode($record_set); exit; //exit statement here CI的工作方式如下。

如果您在.htaccess中有一个名为application/controllers/的控制器和一个名为Test.php的子函数,则URL为some_method

默认情况下,CodeIgniter会将索引安装在localhost/index.php/test/some_methodlocalhost/index.php处。您在默认安装中看到的欢迎控制器实际上引用了localhost/index.php/index,尽管您可以通过controllers/welcome访问它,但也可以通过localhost/index.php/welcome访问它,这是路由/默认控制器进入的地方。深入解释路由超出了堆栈范围,但是您可以在此处找到更多信息:https://www.codeigniter.com/user_guide/general/routing.html

作为CI的新手,我可以说文档非常不错,您应该花一些时间来了解体系结构,然后再继续。


如果您希望删除localhost/index.php而只看到index.php,则需要一些.htaccess规则https://www.codeigniter.com/userguide3/general/urls.html#removing-the-index-php-file