有没有办法在不改变CodeIgniter的整个配置的情况下将函数($this->uri->segment(2)
)的URI段作为常规查询字符串而不是直接映射到函数?
例如,我将被迫拥有这样的网址:
http://localhost/books/functionName/bookNumber
我想在控制器名称(书籍)之后有bookNumber编号:
http://localhost/books/bookNumber
如果我有这样的URL,它会将bookNumber映射到一个函数名。
答案 0 :(得分:1)
您可以使用CodeIgniter URI Routing来获得所需的网址格式。
如果您将以下路线添加到application/config/routes.php
,则输入的与左侧路线匹配的任何网址都将映射到右侧的控制器/功能:
$route['books/(:num)'] = "books/functionName/$1";
这会将http://localhost/books/123
等网址映射到functionName
控制器中的books
函数,并将123
作为参数传递。
这假设您的预订号码为'总是数字(它不适用于字符串),因为(:num)
将匹配仅包含数字的段。