Codeigniter路由规则似乎没有为我删除任何东西 - 这是默认行为 - 我该如何防止它?
示例:
在routes.php中:
$route['blog/read-post/(.+)'] = 'blog/lookup_blog_alias/$1';
在控制器中:
function lookup_blog_alias($str){
print $str;
}
如果我输入的网址如:
http://localhost/blog/read-post/a-b-c/12
当我想要的是“a-b-c / 12”时,我只得到“a-b-c”部分。
感谢您的帮助。
答案 0 :(得分:2)
不,默认情况下,您的要求仅在您更改路线网址&amp ;;控制器方法是这样的: -
$route['blog/read-post/(.+)/(.+)'] = 'blog/lookup_blog_alias/$1/$2';
// Controller Method
function lookup_blog_alias($str1, $str2){
print $str1.'/'.$str2;
}
您需要遵循CodeIgniter User Guide的基础知识,其中它表示CI的约定是使用字符“/
”(正斜杠)标记字符串限制。它只是意味着在两个正斜杠之间,可以/可以在一般MVC Framework中考虑以下事项: -
但是,在CodeIgniter的“routes.php
”页面中,可以通过HTAccess改变逻辑。上述概念仍然是直的和所以遵循正常的MVC架构是明智的。
希望它有所帮助。