使用路由设置从URL中删除控制器名称后,为什么会将我重定向到具有控制器名称
的URL <form method="POST" action="<?php echo site_url('user/dashboard');?>">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<th>Username</th>
<td><input type="text" class="login-inp" /></td>
</tr>
<tr>
<th>Password</th>
<td><input type="password" value="************" onfocus="this.value=''" class="login-inp" /></td>
</tr>
<tr>
<th></th>
<td valign="top"><input type="checkbox" class="checkbox-size" id="login-check" /><label for="login-check">Remember me</label></td>
</tr>
<tr>
<th></th>
<td><input type="submit" class="submit-login" /></td>
</tr>
</table>
</form>
这是我的路线设定
$route['default_controller'] = 'user';
$route['(:any)'] = "user/$1";
$route['(:any)/(:any)'] = "user/$1/$1";
$route['(:any)/(:any)/(:any)'] = "user/$1/$1/$1";
当我点击提交按钮时,它会将我重定向到此网址
我不希望控制器名称是URL
http://localhost/grant/user/dashboard
我想要这样
http://localhost/grant/dashboard
我认为路线设置很好,.htaccess
文件可能存在问题,我们将不胜感激。谢谢。
答案 0 :(得分:0)
问题出在route setting
。您需要使用/编辑.htaccess
文件。
从
改变$route['(:any)'] = "user/$1";
action="<?php echo site_url('user/dashboard');?>
要
$route['dashboard'] = "user/$1";
action="<?php echo site_url('dashboard');?>
注意强>
在尝试上述代码之前,请注释/禁用以下代码。
$route['(:any)/(:any)'] = "user/$1/$1";
$route['(:any)/(:any)/(:any)'] = "user/$1/$1/$1";