我经常看到(重写)的网址没有ID卡在这,就像在一些wordpress设施。什么是最好的方式实现这一目标?例如:site.com/product/some-product-name/ 也许保留列网页名称和标识的缓,以避免数据库查询每一页上的要求?如何避免冲突,以及什么是其他的问题上使用的网址没有Id?

有帮助吗?

解决方案

使用一个ID,提出了同样的难题,真的-你只是检查一个不同的价值在你的数据库。"一些产品名称"的一部分,你的网址上也是独一无二的。有些人叫他们蛞蝓(Wordpress,也固定链接).所以不是询问的数据库进行具有特别的ID,你在查询的数据库进行,有一个特定的弹头。你不需要知道的ID检索记录。

其他提示

只要作为产品的名字是独特的,它不应该是一个问题。它不会采取任何更长的时间(至少不重要),以寻找一个产品通过独特的名字比数字标识只要列的索引。

Wordpress有一个领域中的wp_posts表的弹头。当你们创造的职位,它创建了一个弹头后标题(如果这就是你如何配置),替换空间的破折号(或者我想你可以把它设置以下划线).它也需要出撇号,逗号,或诸如此类的东西。我认为这也限制的总体长度的弹头,太。

所以,简而言之,它不是动态的解码的网址进入后的标题--有一个字段的表相匹配的URL版本的岗位名称。

你可能或不可能知道,该网址正在重新编写Apache mod_rewrite 模块。因为这里提到的,引导,在该背景下,指定一个弹头后消毒的标题或岗位名称。

但是,为了回答你的问题什么你描述的主'"漂亮的永久性"功能,并可以了解更多关于它的 Wordpress法典.较新版本主要做重新写入国内(没有。就editin, wp_rewrite 相反).这就是为什么你会看到的同样的规则对于任何永久的结构。

不过,如果你做一些挖掘你可以找到本旧的重写规则。例如:

RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2&day=$3 [QSA,L]

将采取一个网址像 /2008/01/01/ 和它直接来 /index.php?year=2008&monthnum=01&day=01 (并载入一个新的类别)。

但是,如前所述,一个网页喜欢 product-name 存在 因为已经消毒的文章标题和储存它作为一个域的数据库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top