在htaccess修改后出现Codeigniter的index.php

时间:2013-02-16 11:40:37

标签: php codeigniter

所以这就是事情,我已经完成了关于CI的教程,我已经在.htaccess中做了一些修改来删除URL中的index.php,在这种情况下,当查看记录时,index.php没有出现,但是当我尝试创建一个新记录时,index.php突然出现,我很困惑为什么它出现了,我已经对.htaccess这样做了,

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]  

以下是一些屏幕,

查看记录 enter image description here

创建新记录 enter image description here

创作后: enter image description here

我很困惑为什么index.php突然出现,我已经对.htaccess做了一些改动。我错过了什么吗?请分享您的意见

修改 我只是按照他们要求我做的用户指南。

创建新闻项目

<?php echo validation_errors(); ?>

<?php echo form_open('sample_controller/sample_create') ?>

    <label for="title">Title</label> 
    <input type="input" name="title" /><br />

    <label for="text">Text</label>  <textarea name="text"></textarea><br/>
    <input type="submit" name="submit" value="Create news item" /> 

</form>

5 个答案:

答案 0 :(得分:1)

sample_controller/sample_create更改为/sample_controller/sample_create

更新

或@cballou回答更新配置将首先避免问题。

(在config / config.php中设置$config['index_page'] = ''

答案 1 :(得分:0)

尝试RewriteRule ^(.*)$ index.php?/$1 [PT,L]代替

RewriteRule .* index.php/$0 [PT,L]

答案 2 :(得分:0)

我认为表单操作属性包含index.php段。 Htaccess是不够的,编辑你的CodeIgniter配置文件也是为了删除。

答案 3 :(得分:0)

CodeIgniter还要求您还要对config/config.php文件进行调整,以删除index.php的默认网址后缀。在讨论.htaccess时,它在指南中并没有被高度提及作为必需品。

See documentation here

答案 4 :(得分:0)

我已经给出了如何在codeigniter中删除index.php的答案...试试这个链接

Trying to remove index.php from URL in codeigniter