CodeIgniter Noob - 索引.php文件如何工作


CodeIgniter Noob - How does the index.php file work?

这是我views目录:

-    views/
    -    home.php
    -    contact.php
    -    assets/
        -    css/
            -    main.css

配置.php:(更改它似乎没有任何作用)

$config['index_page'] = 'index.php';

路线.php:

$route['default_controller'] = "welcome";

当我请求www.example.com/index.php时,默认页面(即主页.php)加载并且所有资产都可以工作。但是,当我请求www.example.com/index.php/welcomewww.example.com/index.php/welcome/index时,页面加载但资产不起作用。如果我尝试从主页的链接加载页面,也会发生同样的情况。

我不知道索引.php是干什么用的。我希望能够只请求www.example.com/welcome/index它将调用welcome.php控制器并调用index方法。 application/index.php看起来对一切正常都很重要,我没有删除它,但我真的不想要它。我能做什么?

谢谢。

我想你在这里问了3个不同的问题。

首先,索引.php是代码点火器应用程序的主要入口点。这非常重要,因为您的所有路线都将通过索引。您可以在配置中更改它的原因是,如果您的设置需要,您可以将其重命名为 index 以外的名称.php

其次,只是在这里猜测,但我认为您的资产是使用相对路径加载的;在所有资产前面加上 base_url(); 例如 <?=base_url();?>assets/css/style.css

第三,你需要一个htaccess文件来隐藏索引.php(给你 www.example.com/welcome),或者如果你不使用apache服务器,则需要一个等效的文件,如下所示(取自 http://www.codeigniter.com/user_guide/general/urls.html:

RewriteEngine on
RewriteCond $1 !^(index'.php|images|robots'.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

启用模式 在服务器上重写 灯/万浦 并使用以下代码添加一个 .htaccess 文件

RewriteEngine on
RewriteCond $1 !^(index.php|resources)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

完成上述过程后,您可以使用没有索引的URL.php即www.example.com/welcome/index以及资产目录www.example.com/assets

在了解 MVC 框架如何工作之前,

www.example.com/controller/function

如果调用www.example.com,则将加载默认controller。您可以在config.php中更改此设置

在函数内部,您可以调用view(实际的html可查看脚本)。 按照 https://ellislab.com/codeigniter/user-guide 中的用户指南

默认情况下,Codeignitor URL 将类似于www.example.com/index.php/controller/function

索引.php可以使用.htaccess删除