CodeIgniter:js文件在使用base_url()的所有页面中无法正常工作

时间:2016-03-18 21:09:22

标签: php .htaccess codeigniter

我正在使用CodeIgniter开发一个应用程序。 所有css和js文件都位于主根目录中名为assets的文件夹中:

应用
系统
资产
...

这是主根目录中的.htacess文件:

RewriteEngine On
RewriteBase /projects/tickets

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

在我设置的config.php文件中:

$config['base_url'] = "http://example.com/projects/tickets/";
$config['index_page'] = '';

在我设置的autoload.php文件中:

$autoload['helper'] = array('html','url');

在视图footer.php中,我有不同的脚本:

<script src="<?php echo
base_url('assets/global/plugins/jquery.min.js');?>"
type="text/javascript"></script>

这是一个名为ticket.php的简单控制器:

public function index() {

    $this->load->view('structure/head');
    $this->load->view('structure/header');
    $this->load->view('structure/main-navigation');
    $this->load->view('structure/content');
    $this->load->view('structure/side-bar');
    $this->load->view('structure/footer');

}



public function show() {
    $this->load->view('structure/head');
    $this->load->view('structure/header');
    $this->load->view('structure/main-navigation');
    $this->load->view('structure/content');
    $this->load->view('structure/side-bar');
    $this->load->view('structure/footer');


}

现在,如果我转到www.example.com/projects/tickets

链接

或链接www.example.com/projects/tickets/ticket页面显示为例外。

如果我切换到页面www.example.com/projects/tickets/ticket/show,页面显示为例外,但是虽然js文件具有正确的路径,但它们不起作用。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

男人,我对此感到疯狂,这一切似乎都是正确的,我能在您的代码和我在生产服务器中使用的代码之间唯一不同的是:

的.htaccess

    location / {
    rewrite ^(.*)$ index.php?mode=$1 break;
    }

的config.php

RewriteEngine On
RewriteBase /projects/tickets

#Add www.
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://.example.com/$1 [L,R=301]

尝试这种方式,它总是对我有用。希望它有所帮助!