我的网址是这样的:
http://domain/sentencijos/autoriai/429/marselis-prustas
,
其中sentencijos是一个控制器,autoriai是一种方法,429(param)
是marselis prustas ID。我想删除这个参数(ID),但不知道如何。
完整网址应如下所示:
http://domain/sentencijos/autoriai/marselis-prustas
有人能帮助我吗? 感谢
答案 0 :(得分:8)
将slug
替换为您网址中的id
。
这就是它的工作原理:
1)我在这里假设一个产品网站流程
2)对于特定产品页面,显示产品详细信息需要URL中的一些数据(可以是product id
,product slug
等。)
3)在URL中使用product ids
不被视为一种好习惯。它既不是 SEO friendly
也不是 User friendly
。以下是使用product id
,
http://www.example.com/products/123/
4)因此,替代方案就是所谓的 product slug
5)slug (semantic URL or Permalinks)
基本上是一个有意义的,seo友好的,人类可读的关键字序列,用连字符(或下划线)分隔。以下是使用product slug
,
http://www.example.com/products/apple-iphone-5S-16GB-brand-new/
此处, apple-iphone-5S-16GB-brand-new
是一个slug。
您还可以从此页面的URL中了解
http://stackoverflow.com/questions/24800780/how-to-remove-params-from-url-codeigniter
其中,
24800780 =这是唯一的question_id
如何删除params-from-url-codeigniter =这是slug
question
如何使用slug?
1)当然,您的产品页面需要URL中的一些数据才能了解要显示的产品
2)在我们使用id
查询我们的数据库之前,我们从URL获取。但现在我们会做同样的事情(查询我们的数据库)只是用slug替换id就是这样!
3)因此在数据库中添加名为 slug
的附加列。以下是您更新的产品数据库结构。
id | title | slug | price | thumbnail | description
在您的代码中:
假设这是您的网址,
http://domain/sentencijos/autoriai/marselis-prustas
并且此marselis-prustas
可能是您的控制器功能将接收的slug value
,并传递给逐渐使用它来查询数据库的模型。
为此,您必须创建一个新列(如上所述),该列应具有值marselis-prustas
以及其他slugs
。
网址中slug的优点:
1)SEO友好
2)用户友好
3)清洁和语义URL