我很想知道WordPress
或其他一些网站如何在没有提到任何标识符的情况下重写网址。
例如,WP
当我打开Permalink Settings
时,可以选择自定义网址格式,如下所示。
http://localhost/wordpress/sample-post/
刚刚提到了帖子标题,显然无法知道Post ID
。现在想一想WP如何知道哪些帖子必须加载?
我认为自己这个格式化的URL还没有被重写,只是WordPress在创建后重写每个帖子的示例。因此,每次我写一篇文章时,它都会向.htaccess
文件添加一个新的重写。
但是这个解决方案不符合逻辑并且使我们有一个脏的htaccess
文件并且很难维护,因为可能存在很多冲突。
另一个解决方案是认为根本没有定期重写,WP
正在处理URL本身,因此当当前URL与示例URL匹配时,它知道是时候加载特定帖子。
这也是可行的,但主要的问题仍然是它如何知道必须加载哪个帖子?是在使用标题搜索数据库?那么它如何保证标题的独特性?
这是我生命中的一大挑战;)
答案 0 :(得分:1)
Wordpress的wp_post
表有一个名为post_name
的列,用于存储帖子标题的唯一网址友好版本。它使用此列的值搜索数据库。
这通常称为slug
,它必须是唯一的。