我的CI网站运行良好,但网址有点难看。 我应该采取什么方法来使我能够路由显示的内容:
http://domain.com/content/index/6/Planning
到网址:
我很困惑这是应该在路线文件中还是在我的.htaccess中完成
由于
答案 0 :(得分:4)
有几种方法可以设置config / routes.php,适用性取决于您的要求。
每个页面的路线,如果您只想要路由几页:
$route['Planning'] = 'content/index/6';
$route['Working'] = 'content/index/7';
// etc.
您可以使用在所有其他路由规则之后匹配的回退网址 - 这意味着您必须在回退规则之前设置可能与此规则匹配的规则。它还意味着您丢失了ID,并且必须根据标题查询数据库:
$route['register'] = 'register'; // this would match the fallback rule
$route['([a-z-A-Z1-9_]+)'] = 'content/index/$1'; // letters, numbers and underscore
// you'll receive "Planning" as parameter to Content::index method
或者您可以制定所有内容网址必须以大写字母开头的政策,在这种情况下您不必担心其他路线规则
$route['([A-Z]{1}[a-z-A-Z1-9_]+)'] = 'content/index/$1';
// again, you'll receive "Planning" as parameter to Content::index method
您仍然需要数字ID,因此您无需更改控制器/型号:
$route['(\d+)/[a-z-A-Z1-9_]+'] = 'content/index/$1';
// routes now look uglier: http://domain.com/6/Planning
答案 1 :(得分:0)
http://codeigniter.com/user_guide/general/routing.html
你应该能够通过本页的一些例子来实现这一目标