我在codeigniter HMVC上创建了一个Web应用程序。我在本地服务器上测试了它,以下链接完全没问题,给我一个登录表单,链接:http://localhost/bird_vision/users/login,我的目录结构就像这个bird_vision / application / modules / users / users.php(用户 - >模块的名称,users.php->控制器的名称)。现在我使用filezilla将整个“bird_vision”文件夹发布到web。 - 将config.php文件中的base_url更改为domain_name - 在.htaccess文件中进行了一些更改
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$10 [L,QSA]
</IfModule>
现在,当我在地址栏中写下bird_vision.se/bird_vision/users/login时,它找不到404页面。虽然当我输入birdvision.se/bird_vision/welcome时,它给了我欢迎来到codeigniter页面。
我需要帮助,因为我的所有努力使这个项目受到威胁。提前谢谢。
答案 0 :(得分:0)
我认为问题不在于HMVC,而在于codeigniter 3.0版。说到unix(在我的服务器上运行的操作系统),它区分大小写。因此,当我尝试访问控制器时,由于区分大小写而无法找到该文件,并且每次都会弹出404。
我以前的文件夹结构是这样的:
-application
-->modules
--->users
---->controllers
----->users.php
我获得404的链接是www.example.com/users/login
其中链接中的“users”是控制器名称,位于“modules”文件夹下的“modules”文件夹中,在我的情况下命名为users.php,“login”是控制器内部的功能。
我所要做的就是更改模块和控制器名称的第一个字母的大小写。现在我的目录看起来像
-application
-->modules
--->Users
---->controllers
----->Users.php
注意:用户模块和用户控制器中的大写“U”。
我以前访问用户控制器的网址是:www.example.com/ U sers / login
我又回来了。
答案 1 :(得分:0)
你救了我 Zeeshan Cornelius
我奋力超过30分钟终于让它发挥作用。非常感谢