【问题标题】:Codeigniter 3.0 not working on BluehostCodeigniter 3.0 无法在 Bluehost 上运行
【发布时间】:2015-08-05 17:47:27
【问题描述】:

当我在本地服务器上运行 Codeigniter 3.0 应用程序时,它运行良好。但是,当我将它上传到 Bluehost 时,它不起作用。

Codeigniter 本身正在工作,但我得到的是 Codeigniter 404 而不是 Apache 404 - 页面获取样式等。

我认为问题与 Codeigniter 3.0 和 Bluehost 有关,因为我向 BH 上传了 2 个不同的应用程序。

当我使用 Codeigniter 2.x 时,一切正常。

【问题讨论】:

  • * 我将很快发布我的 .htaccess,我现在在移动设备上。但是,如果有人已经知道这个问题以及如何解决它。谢谢

标签: php codeigniter bluehost


【解决方案1】:

从 CodeIgniter 3.0 开始,所有类文件名(库、驱动程序、控制器和模型)必须以 Ucfirst-like 方式命名,或者换句话说 - 它们必须以 大写字母开头信

控制器:

application/controllers/welcome.phpapplication/controllers/Welcome.php

型号:

application/models/misc_model.phpapplication/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>

【讨论】:

  • 感谢阿卜杜拉!我改变了类文件的情况,它工作得很好。但是,您如何解释它在我的计算机上工作并且仅在我将其上传到 Bluehost 后才出现此问题? (我没有在任何其他托管服务提供商中对其进行测试)。最好的问候!
  • 对不起,我忘记了;)完成了。
【解决方案2】:

我希望以下 .htaccess 对您有用:

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

【讨论】:

  • Arif,感谢您的回答.. 它仍然无法正常工作。我将测试 ABdulla 在下面所说的内容。最好的问候
猜你喜欢
  • 2019-07-17
  • 2016-01-24
  • 2012-11-18
  • 2017-09-10
  • 1970-01-01
  • 2017-01-18
  • 2018-03-14
  • 2016-05-11
  • 1970-01-01
相关资源
最近更新 更多