Codeigniter 3.0 不适用于 Bluehost
Codeigniter 3.0 not working on Bluehost
当我在本地服务器上 运行 Codeigniter 3.0 应用程序时,它工作正常。但是,当我将它上传到Bluehost时,它不起作用。
Codeigniter 本身正在工作,但我得到的是 Codeingiter 404 而不是 Apache 404 - 页面获得样式等。
我认为问题与 Codeigniter 3.0 和 Bluehost 有关,因为我向 BH 上传了 2 个不同的应用程序。
当我使用 Codeigniter 2.x 时,一切正常。
希望以下 .htaccess 对您有用:
RewriteEngine on
RewriteCond !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/ [L,QSA]
从 CodeIgniter 3.0 开始,所有 class 文件名(库、驱动程序、控制器和模型)必须以 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
Note that this DOES NOT affect directories, configuration files, views, helpers, hooks and anything else - it is only applied to classes.
You must now follow just one simple rule - class names in Ucfirst and everything else in lowercase.
和.htaccess
应该是
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
</IfModule>
当我在本地服务器上 运行 Codeigniter 3.0 应用程序时,它工作正常。但是,当我将它上传到Bluehost时,它不起作用。
Codeigniter 本身正在工作,但我得到的是 Codeingiter 404 而不是 Apache 404 - 页面获得样式等。
我认为问题与 Codeigniter 3.0 和 Bluehost 有关,因为我向 BH 上传了 2 个不同的应用程序。
当我使用 Codeigniter 2.x 时,一切正常。
希望以下 .htaccess 对您有用:
RewriteEngine on
RewriteCond !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/ [L,QSA]
从 CodeIgniter 3.0 开始,所有 class 文件名(库、驱动程序、控制器和模型)必须以 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
Note that this DOES NOT affect directories, configuration files, views, helpers, hooks and anything else - it is only applied to classes.
You must now follow just one simple rule - class names in Ucfirst and everything else in lowercase.
和.htaccess
应该是
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
</IfModule>