您好我最近遇到过CI的一些问题。当我想将css文件链接到几乎任何东西时,我需要将它直接放到根文件夹中。如果我将文件移动到层次结构中的某个位置,它将不会加载它。这是我尝试链接此core_css.css
时的示例。它会加载htdocs
文件夹中的文件夹,但不加载css
文件夹中的文件夹。
作品:
<link href="<?php echo base_url(); ?>core_css.css" type="text/css" rel="stylesheet" />
不起作用:
<link href="<?php echo base_url(); ?>application/OBS/css/core_css.css" type="text/css" rel="stylesheet" />
我已经尝试将css归档到所有其他子文件夹并链接它们,但它只加载根目录中的那个。
我的第二个问题是,每当我尝试测试控制器时,我都需要通过index.php
访问它,如下所示:
http://localhost:8888/index.php/test_controller
有没有办法摆脱将index.php
放入网址的需要?
答案 0 :(得分:1)
第一个问题:
在您的根网站目录中添加.htaccess文件,并从所有文件中写入允许,在此文件夹中,您的所有文件和所有文件夹都不会出错,禁止访问!像这样使用它:
<link href="<?php echo base_url(); ?>application/public/css/style.css" rel="stylesheet" type="text/css" />
N.B: 我通常将我的所有文件放入应用程序根目录中的“assets”文件夹中,然后确保使用Asset_Helper为我指向这些文件。这就是CodeIgniter的建议。
第二个问题: 如果您使用Apache,请在根网站目录中放置一个.htaccess文件,其中包含以下内容:
RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
为了更好地理解,您可以通过此链接查看codeigniter URL部分 http://ellislab.com/codeigniter%20/user-guide/general/urls.html
答案 1 :(得分:0)
对于第二个问题:将以下内容放在CodeIgniter根文件夹(htdocs
中)的.htaccess文件中:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]
确保将$config['index_page']
设置为空字符串,并相应地设置$config['base_url']
(这两个选项位于/application/config/config.php
内)
对于第一个问题:尝试创建一个名为assets
的文件夹或类似的文件夹,并将其放在网站的根目录中(再次在htdocs
内)。将您的css文件移到那里,然后访问http://localhost:8888/assets/core_css.css
尝试访问它。
此外,如果您使用的是Linux机箱,请确保您要访问的文件夹具有读取权限。