Php 如何在CodeIgniter中从URL中删除段
我的URL地址如下所示: /blog/topic/6/test 可以这样改变吗 /博客/主题/测试Php 如何在CodeIgniter中从URL中删除段,php,rewrite,codeigniter-2,Php,Rewrite,Codeigniter 2,我的URL地址如下所示: /blog/topic/6/test 可以这样改变吗 /博客/主题/测试 我正在使用CodeIgniter 2.x是的,6只是GET参数-您可以使用POST 是的,当然可以:)但请解释一下,当你想改变到网址;您是否希望url/blog/topic/test等同于/blog/topic/6/test(这听起来有点奇怪,因为您可能无法识别正确的主题,除非test是唯一的名称),或者,您希望在有人通过请求您的url的第一个版本到达控制器后过滤掉该号码吗?在这种情况下,取决于u
我正在使用CodeIgniter 2.x是的,6只是GET参数-您可以使用POST 是的,当然可以:)但请解释一下,当你想改变到网址;您是否希望url
/blog/topic/test
等同于/blog/topic/6/test
(这听起来有点奇怪,因为您可能无法识别正确的主题,除非test
是唯一的名称),或者,您希望在有人通过请求您的url的第一个版本到达控制器后过滤掉该号码吗?在这种情况下,取决于url语法的严格程度,explode()或对regex函数的调用都会使我只想在url中隐藏id—在本例中是(6),但它可以是另一个数字。我还将它用作方法的参数,这个方法使用它。这里的问题是,您需要id来指定正确的帖子。因此,只有在字符串test
是唯一标识符的情况下才能执行此操作,因此您可以从主题为的\u表中执行类似于SELECT*的操作,或者如果您已将id保存在会话中。因为php可以做很多事情,但不能神奇地读懂用户的心思来获取所需的主题:)那么,如果“test”是主题标题,那么您就有机会了,但是您必须使标题独特,这在大多数情况下是不可取的。否则,为了让它看起来更甜美一点,你可以改变它们(标题和id);当你有像这是我的博客帖子
这样的标题时,它会将其转换为这是我的博客帖子
,将其保存在一个独特的mysql单元格中,并在需要时进行查找。当您有两个相同的标题时,您可以将这个slug(它的名称)转换为this-is-my-blogpost-2
或类似的东西。想想你自己处理这种情况的逻辑。但是,如果您在数据库中添加一个新列,就可以做到这一点!