不删除Codeigniter中的index.php

时间:2018-09-27 05:37:20

标签: php codeigniter codeigniter-3

我正在发送表单数据(对控制器的视图),但是我想从URL中删除index.php。为此,我从config.php中删除了index.php,但它对我不起作用。如何不使用index.php从网址中删除index.php并发布数据?这是我在视图中的代码:

<form method="post"  action="<?php echo base_url()?>/index.php/Home/login">  
<div class="form-group">
   <label for="exampleInputEmail1">Email address</label>
   <input type="email" class="form-control" name="name"id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email" required>
</div>
<div class="form-group">
    <label for="exampleInputPassword1">Password</label>
    <input maxlength="10" minlength="3" type="password" name="name" class="form-control" id="exampleInputPassword1" placeholder="Password"required>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>

4 个答案:

答案 0 :(得分:0)

当需要到控制器的链接时,需要将辅助调用从action="<?php echo base_url()?>/index.php/Home/login"更改为action="<?php echo site_url('home/login')?>"。对于静态资源(css,上传等),请继续调用base_url()

您还需要按照评论中的建议使用mod_rewrite properly configured

答案 1 :(得分:0)

1)制作.htaccess文件并放入以下代码

 RewriteEngine on

 RewriteCond $1 !^(index\.php|resources|robots\.txt)

 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteCond %{REQUEST_FILENAME} !-d

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

2)更改

 $config['index_page'] = ''; 

 remove index.php present in config.php file

答案 2 :(得分:0)

只需单击here,将htaccess文件放在根文件夹中。

现在从此行删除index.php。

<form method="post"  action="<?php echo base_url()?>/index.php/Home/login"> 

答案 3 :(得分:0)

在根系统文件夹中创建文件.htaccess,并在下面添加代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

然后您可以在代码中删除index.php