大家加油!
请耐心等待,我确实对此进行了一些研究,但我无法得出最终解决方案,因此我在这里听取您的意见。
我想要构建的是一个带有动态分层页面的小型 i18n-CMS,例如:
domain.tld/en/I/am/a/path
我想找到性能最低的方式,让我拥有漂亮的、SEO 和人性化的 URL。
我使用 Closure-Table,所以数据库中有两个表,一个用于页面节点,一个用于路径树,另一个表用于本地化页面,它引用某个页面节点(总共三个)。
到目前为止我的不同解决方案:
- 当然我可以制作一个算法,它会遍历所有不同的请求段,并检查“I”下的“am”下的“a”下是否有英文“path”,但考虑到大量的页面点击量。
或者是吗?
肯定的:我不需要在任何地方保存路径,因为它会被计算出来。所以移动页面不需要重新计算路径并再次保存。
- 我可以简单地将整个路径保存到数据库中,例如 VARCHAR(2000) 或其他内容,然后检查是否有一个带有英文路径“I/am/a/path”的页面并获取该路径。
这似乎相当混乱。
就像我现在做的那样。目前,我在路径的末尾添加了一个“ID”。如:
domain.tld/en/I/am/a/path.1
因此,如果您输入“domain.tld/en.1”,您将被转发到具有正确 slug 的那个。但是在这里,我需要将每个页面的 slug 保存到数据库中。
我也很想摆脱 id(我可以用 mod-rewrite 和 .htaccess 做到这一点吗?)
关于这个还有更多的见解吗?由于我不是网络开发人员,所以我不太确定性能。
最亲切的问候,
梅伦