这是我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/welcome
或www.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
删除