在我的申请中 我们可以通过以下任何URL格式访问用户个人资料屏幕
http://example.com/users/123/
http://example.com/users/123/mike
http://example.com/users/123/mike-pedro
但问题在于
现在很多网址都会显示相同的内容
因为我不关心最后{slug}
,所以我只使用{id}
来显示内容
并根据
http://blog.codinghorror.com/url-rewriting-to-prevent-duplicate-urls/
这会降低我的PageRank 并在3个不同的URL之间进行了分配,而不是集中在其中一个URL中。
当我检查stackoverflow实现时
我找到了
3个不同的URL将指向相同的内容和相同的URL
例如
所有下面3个链接
https://stackoverflow.com/users/1824361/
https://stackoverflow.com/users/1824361/yajli
https://stackoverflow.com/users/1824361/yajli-maclo
ALL将定向到一个目标网址并显示其内容
https://stackoverflow.com/users/1824361/yajli-maclo
目标链接= {id}
+ {slug}
如何使用codeigniter
实现它答案 0 :(得分:1)
在您的控制器中,您可以更改您将ID发送到模型的方法(带有1个参数 - $ id),该模型将返回" slug" (名称)来自该表的特定ID。
使用这些,您可以调用控制器中的另一个方法,该方法将采用2个参数(Id和slug)。这将使链接看起来像这样:example.com/users/123ID/blaSlug
因此,如果您访问第一种方法,他将完成工作并转到第二种方法。
希望这有帮助
干杯