我已经从本地服务器上传了一个codeIgniter 3应用程序,并设置了以下文件:
文件.config
$config['base_url'] = 'http://www.myswebsite.com/project';
文件.routes
$route['default_controller'] = 'projects';
档案.htaccess
RewriteEngine On
RewriteBase /project
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
当我进入mainController项目时,我可以看到该页面,但在登录后(页面需要登录)我收到以下错误:
404找不到页面
网址:www.mywebsite.come / project / login
我无法理解原因...
答案 0 :(得分:1)
我有同样的问题,但我通过这样的方式克服了这个问题
为Apache 2.2或后者启用mod_rewrite。为此,请在根项目目录中创建.htaccess文件。在文件中添加以下代码并保存。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /projectname/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
其他重要的想法请记住:
控制器文件名和类名首字母必须为大写。
示例:
文件名:Test.php但不是test.php
类名:类测试扩展CI_Controller {}但不是类测试...
仔细阅读链接以更好地了解: https://www.codeigniter.com/userguide3/general/controllers.html#let-s-try-it-hello-world
注意:URL不得包含任何大写字母。一切都应该是小写字母。
示例:
正确 www.projectname.com/test/some_method
不正确 www.projectName.com/Test/someMethod
我希望你能解决这个问题。
答案 1 :(得分:0)
检查Controller类名称应该是大写字母。第一个字符应该是大写
答案 2 :(得分:0)
您可能需要重定向到projects
而不是project
控制器。