我正在使用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文件具有正确的路径,但它们不起作用。
我做错了什么?
答案 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]
尝试这种方式,它总是对我有用。希望它有所帮助!