不能删除" Index.php"来自codeigniter中的URL

时间:2015-03-23 07:59:15

标签: php apache .htaccess codeigniter mod-rewrite

我是codeigniter的新手,我正在尝试从Codeigniter中的URL中删除index.php但是无法执行此操作。 我在.htaccess文件中编写了代码 -

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

我的Apache mod_rewrite 已启用。

但是当我尝试访问任何控制器而不使用index.php时仍然出现404错误。

请帮忙。

感谢。

3 个答案:

答案 0 :(得分:1)

<IfModule mod_rewrite.c>
    RewriteEngine on 
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/index/?$ $1 [L,R=301]
</IfModule>

我正在使用的代码,它适用于我使用过的每个托管平台。

答案 1 :(得分:1)

这应该对你有帮助,

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L,QSA]

答案 2 :(得分:0)

检查htaccess文件的这段代码。

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

你可以在这里找到答案参考

My .htaccess file is not working

此外,您可以与我们分享您的基本网址吗?因为这个错误可能是由于错误的基础设置造成的。