首页 > 解决方案 > 如何使用 Codeigniter 3 从 URL 中隐藏 Post Controller 名称和方法

问题描述

我正在使用 Codeigniter 3 并试图从 URL 中隐藏控制器文件名和方法,但它不起作用。在下面的示例中,“CommonPages”是控制器文件名,“postdetails”是方法。

www.mydomain.com/CommonPages/postDetails/social-testing-post
www.mydomain.com/CommonPages/postDetails/fix-the-windows-errors

我想CommonPages/postDetails从 URL 中隐藏。大约有 100 个帖子,所以如果我不在route.php文件中指定每个页面链接,那就太好了。或者,我尝试了下面的代码,route.php但它对我不起作用。

$route['(:any)'] = 'CommonPages/postDetails/$1';
$route['(:num)'] = 'CommonPages/postDetails/$1';
$route['([a-zA-Z0-9]+)'] = "CommonPages/postDetails/$1";

谢谢大家。

标签: phpcodeignitercodeigniter-3

解决方案


$route['product/:num'] = 'catalog/product_lookup';

在路由中,数组键包含要匹配的URI,而数组值包含它应该重新路由到的目标。

在上面的示例中,如果在URLproduct的第一段中找到文字单词,并且在第二段中找到数字,则使用类和方法。catalogproduct_lookup

您需要更好地配置路线检查此以获取更多信息:

https://codeigniter.com/userguide3/general/routing.html


推荐阅读