0

嗨,这是我的网站链接 http://webscarlets.com/ci/welcome

我是codeigniter的新手。我从网址中删除了 index.php。要从 url 中删除 index.php,我使用了以下代码。我从 codeigniter 用户指南中获得此代码

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

但是css没有加载。这是我的配置设置

//autoload.php
$autoload['helper'] = array('url','form','html');

//config.php   
$config['base_url'] = 'http://webscarlets.com/ci/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

//constants.php
define("LAYOUT_URL","http://webscarlets.com/ci/");

//view.sphp 
<link rel="stylesheet" type="text/css" href="<?php echo LAYOUT_URL; ?>css/all.css">

请查看我的代码和指南以完成此任务。

提前感谢大家。

4

2 回答 2

2

目前 css 链接是http://webscarlets.com/ci/application/css/all.css所以确保有 css 文件放置在此路径上或将 css 文件放在根文件夹中并使用<link rel="stylesheet" type="text/css" href="<?php echo base_url; ?>css/all.css">而不是 Layout url。

于 2012-08-06T10:10:29.463 回答
1

正如您在问题中所问的那样,您想删除 url 中的 index.php 字符串,因此在 .htaccess 文件中您将拥有类似于以下内容的内容:

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

你也说你有你的css

css/all.css

要允许 CI 加载 css,您必须在 .htaccess 文件中允许它,添加您不想被重写的文件夹。在您的情况下,假设您的all.css文件位于css 文件夹中,您必须编写下一个 .htaccess 文件

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

另一方面,如果您要将 css 文件存储在其他目录中,例如资产,则必须确保将其添加到 .htaccess 文件中。

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

请记住,这就是我对您说的所有内容都可以应用于图像、js 或 css。只记得将存储的文件夹添加到 .htaccess 文件中。

完成此操作后,您可以使用 base_url() 助手或直接编写在视图中添加 css

<link rel="stylesheet" type="text/css" href="/ci/css/all.css">

请注意您的 CI 应用程序的位置。

我希望它会帮助你。祝你好运!

于 2014-02-21T19:08:24.977 回答