我正在创建一个 cms,但尚未确定在哪里存储结构中给定页面的完整 url。
每个页面都有一个 slug(页面的 url 友好名称),每个页面都有一个可以为空的(对于顶级页面)父级和子级。
我在哪里存储给定页面的完整 url (/first-page/sub-page)?这应该与页面的其他属性一起进入数据库还是一些缓存?
更新
这不是我要询问的数据库设计,而是将完整 url 存储到给定页面的位置,因此我不需要遍历整个 url 来获取用户请求的页面(/first-page/sub-page )
更新 2
我需要找到哪个页面属于当前请求的 url。如果请求的 url 是 /first-page/sub-page 我不想拆分 url 并循环访问数据库(显然)。
我宁愿将整个 url 放在表中,这样我就可以执行一个查询(WHERE url = '/first-page/sub-page'),但这似乎并不理想,如果我更改 slug 的父页面?然后我还需要更新所有后代的 url 字段。
其他人如何解决这个问题?他们是否将其放入数据库中?在将 /first-page-/sub-page 映射到页面 id 的缓存中?还是他们拆分请求的 url 并循环访问数据库?
谢谢
安德斯