我有一个网站,我想开始使用友好的URL 所以而不是:
我可以使用:
我知道如何在.htaccess方面执行此操作,但我不知道如何在数据库调用的后端设置它,特别是如果公司名称可能不是唯一的(多个位置)例如)。
我考虑过在检查重复项后将友好的url插入数据库,但我很好奇是否有更好的方法
答案 0 :(得分:1)
无论是ID还是用户友好的字符串(如公司名称),您都需要将其作为唯一标识符。你不会避免这种情况。
有几种选择。
或在URL的其他部分,如:
然后,您可以轻松地从URL中获取ID,但它看起来仍然很好。
在这种情况下,在数据库中创建公司行时需要一些额外的逻辑。这当然是因为你必须以某种方式处理重复的名称。你可以例如在这个值上添加一个数字(facebook做类似的事情),所以如果出现steaks_r_us
的副本,你就是会插入一个值steaks_r_us2
然后,您将拥有这些公司的唯一网址:
和
答案 1 :(得分:0)
您可以在业务键(在本例中为公司名称)上创建唯一索引,以防止首先插入重复项。
答案 2 :(得分:0)
Wheatin有正确的想法。您希望拥有一个包含两列的表格,URL和它所引用的ID。如果您在URL列上创建了一个唯一键,那么您可能只有一个函数/方法尝试插入带有内容ID的干净URL;我经常做像
这样的事情object-fit: cover
在最后添加一个数字是一种很好的自动防故障方法,可以确保始终返回一个唯一的URL。排序Drupal或Wordpress如何处理具有相同名称的帖子网址。