在Codeigniter上删除index.php的问题没有加载我的css和js

时间:2011-06-10 12:44:01

标签: php codeigniter mod-rewrite

目前我尝试删除codeigniter网址上的index.php。我在localhost / jqm / withci上安装了我的codeigniter。然后我写.htaccess来删除index.php并且效果很好。 .htaccess文件:

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

但我m having some problem, my css file and js won加载..我的控制器是

class Home extends CI_Controller {
    function __construct() {
        parent::__construct();
        $this->load->helpers('url');
    }

    function index() {
        $this->load->view('head_view');
        $this->load->view('main_view');
        $this->load->view('foot_view');
    }
}

我对head_view的看法是:

<!DOCTYPE HTML>
<html>
  <head>
    <meta name="viewport" content="width=320; user-scalable=no" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>jQuery Mobile with Codeigniter</title>
      <link rel="stylesheet" href="<?php echo base_url();?>jquery.mobile/jquery.mobile-1.0a4.1.css" type="text/css" charset="utf-8" />
      <script type="text/javascript" src="<?php echo base_url();?>jquery.mobile/jquery-1.5.2.js"></script>
      <script src="<?php echo base_url();?>jquery.mobile/jquery.mobile-1.0a4.1.js"></script>

    <!-- CDN Respositories: For production, replace lines above with these uncommented minified versions -->
    <!-- <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" />-->
    <!-- <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>-->
    <!-- <script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>-->

    </head>
  <body>

我尝试使用base_url()但是它没有使用jss Mobile的css和js文件t load my css and js. Thank you.. PS : I m。我们可以从CDN存储库加载它,但我想从我自己的目录中加载它,以防我以后要加载自定义css或js

3 个答案:

答案 0 :(得分:4)

在您的.htaccess文件中,将包含JavaScript和CSS的文件夹添加到重写条件中,例如:

RewriteCond $1 !^(index\.php|images|jquery\.mobile|robots\.txt)

目前这些文件未加载,而是指向您的index.php文件。

答案 1 :(得分:3)

尝试将此添加到重写规则中,以防止在所有文件和目录上发生重写:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

答案 2 :(得分:0)

你可以在配置文件中设置一个新的配置变量,但是在其上设置css / js文件的路径