当我在本地服务器上运行Codeigniter 3.0应用程序时,它工作正常。但是,当我将其上传到Bluehost时,它不起作用。
Codeigniter本身正在工作,但我得到的是Codeingiter 404而不是Apache 404 - 该页面有样式等等。
我认为问题与Codeigniter 3.0和Bluehost有关,因为我向BH上传了2个不同的应用程序。
当我使用Codeigniter 2.x时,一切正常。
答案 0 :(得分:3)
从CodeIgniter 3.0开始,所有类文件名(库,驱动程序,控制器和模型)必须以 Ucfirst-like 方式命名,换句话说 - 它们必须以资本开头信强>
控制器:
application/controllers/welcome.php
至application/controllers/Welcome.php
型号:
application/models/misc_model.php
至application/models/Misc_model.php
来源:Classes file naming Conversion in CodeIgniter
注意此不会影响目录,配置文件,视图,帮助程序,挂钩和其他任何内容 - 仅适用于类
你现在必须只遵循一个简单的规则 - Ucfirst中的类名和其他小写。
和.htaccess
应为
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
答案 1 :(得分:0)
我希望以下.htaccess能为您效劳:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]