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


CodeIgniter: js files do not work properly in all pages using base_url()

我正在使用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文件具有正确的路径,但它们不起作用。

我做错了什么?

伙计,我快疯了,一切似乎都对,我能欣赏到您的代码与我在生产服务器中使用的代码之间的唯一区别是:

.htaccess

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

配置.php

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

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