【问题标题】:Codigniter Unable to find model when installed on subdomainCodeigniter 在子域上安装时无法找到模型
【发布时间】:2015-04-18 20:00:41
【问题描述】:

我在 XAMPP 中创建了我的应用程序,它运行良好,现在我将它转移到我网站的子域中。当我尝试打开我的应用程序的登录页面时,它给出了错误Unable to locate the model you have specified

子域的目录结构:

public_html/
           Subdomain/
                     Codeigniter/
                                 application/
                                           models/
                                           views/
                                           controllers/

我的 Codeigniter 应用程序的登录页面是:

在本地主机上

http://localhost/INvoice/index.php/admin/Login_Controller/

在网站上

http://subdomain.example.com/index.php/admin/Login_Controller/

【问题讨论】:

  • 你检查过你的 .htaccess 吗?可以发一下吗?
  • @idioteque 它只有一行Deny from all
  • 谢谢!能否请您提供您的模型文件、类声明和模型调用?(复制/粘贴)

标签: php codeigniter routing


【解决方案1】:

在 xampp for codeigniter 中,我将此 htaccess 用于 Windows 7 和 8。

Options +FollowSymLinks
Options -Indexes

<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
    Order deny,allow
    Deny from all
</FilesMatch>

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

我在现场使用子域,只要 htaccess 在子文件夹和父目录的主目录中,它就可以正常工作。我认为是因为您否认了所有导致您问题的原因。

主目录

子目录演示

【讨论】:

    【解决方案2】:

    我发现了问题所在。基本上我的模型文件命名约定有问题。我一直在文件名中使用大写字母,即Login_Model.php,当我将其更改为login_model.php 时,它是固定的。 请注意,我的.htaccess 仍然是空的,但我的网址没有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 2019-10-22
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      相关资源
      最近更新 更多