【发布时间】:2012-06-15 14:53:01
【问题描述】:
我有一些关于使用 Codeigniter 进行路由的问题。我现在正在做的事情如下:
$route['articles/(:num)'] = 'articles/view/$1'; // $1 will contain an ID
这意味着 example.com/articles/123 将完美运行并加载 ID 为 123 的文章。但我也希望能够将文章的标题添加到 URL(用于 SEO)。示例:example.com/articles/123/article-title
我想要的和 Stack Overflow 差不多:stackoverflow.com/questions/123/the-title
我该怎么做?
我也想知道 Stack Overflow 是如何工作的。如果我转到 stackoverflow/questions/111,标题将自动添加到 url。是用 php redirect() 完成的吗?
【问题讨论】:
-
你试过了吗:
$route['articles/(:num)/(:any)']?并且在传递第三个参数时,您必须用-替换空格,并且认为不需要Christian Giupponi 提出的内容 -
@Daniel 是的,但我希望标题是可选的,就像在 Stack Overflow 上一样。
-
但我认为这会起作用,你测试过吗?我认为由于第三个参数是
(:any) -
@Daniel 是的,(:any) 是正确的,但我在不添加标题时得到“找不到页面”。
-
我做到了,我知道你想做什么。您是否尝试过创建具有不同参数的相同路由器?一个有
(:any),另一个没有?
标签: php codeigniter routing