[英]codeigniter 3 - remove index.php : error 404 on linux but work fine on windows
Linux上的错误404,但在Windows上工作正常。 是什么造成的?
我使用本教程: http : //www.tutora.fr/apprendre-codeigniter/les-controleurs
application / config / routes.php:
$route['default_controller'] = 'welcome';
$route['translate_uri_dashes'] = FALSE;
$route['login'] = 'user_authentification/user_authentification';
的application / config / config.php文件:
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['subclass_prefix'] = 'CORE_';
Windows上的本地托管(XAMPP)在url mysite.dev/login上运行良好。
Linux上的实时托管在url mysite.pro/login上产生404错误。
如果我添加index.php
(mysite.pro/index.php/login),它工作正常,但我会删除它。
如果尚未创建其他.htaccess文件,请在项目根目录中创建.htaccess文件。
将代码粘贴到代码下面。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /projectname
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
你可以尝试这个链接http://addictors.in/remove-index-php-from-url-in-codeigniter/
别忘了重启服务器
希望能帮助到你。
Linux区分大小写。 请记住,在哪种情况下您编写了目录和文件名。 您应该在任何文件或目录所属的文件中写入文件或目录名称。
请检查user_authentification
的文件/目录。 此外,控制器/模型的第一个字母应该是cap(codeigniter要求)。 请检查您是否正确编写了controller/model
名称。
更新
将以下片段放在.htaccess
文件中:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
管理员发现了错误。 虚拟主机出错。
.htaccess文件从未执行过。
感谢大家的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.