我正在尝试使用codeigniter URL路由来路由URL。 我想重定向像
这样的网址我尝试在配置文件夹
中的routes.php中使用以下行$route["users/edit?(email|password)"] = "userController/edit$1";
显示找不到的页面。我在猜?被视为正则表达式角色。我试图逃避它,但这也没有用。
我不想将配置设置uri_protocol设置为PATH_INFO或QUERY_STRING,因为这只是我想要设置的漂亮网址,而不是将任何内容传递给操作。
有人可以帮助我吗?
此致
答案 0 :(得分:0)
你应该像这样逃避?
它应该有效。 (未经测试)
$route["users/edit\?(email|password)"] = "userController/edit$1";
稍后修改:
这可以按预期工作:
$route["users/edit(email|password)?"] = "userController/edit$1";
userController
看起来像这样
<?php
class UserController extends Controller {
function edit()
{
echo "general edit";
}
function editemail()
{
echo "edit email!";
}
function editpassword()
{
echo "edit password";
}
}
路由器的工作方式如下:
http://sitename/index.php/users/editemail
,则会看到editemail()
操作。http://sitename/index.php/users/editpassword
,则会看到editpassword()
操作。http://sitename/index.php/users/edit
,则会看到edit()
操作(问号可选择使用电子邮件/密码字段,您可以在edit()
操作中执行其他操作