我的网站有文章,我希望网址如下: example.com/(article id)/(文章标题)
有两个原因我希望网址如此,搜索引擎优化和可读性。
此设置接近stackoverflow的设置方式。就像在stackoverflow上一样,我不希望标题是必需的,但如果它不包含在我希望后端将标题附加到URL。
要了解我的意思,请获取当前页面的网址,从中删除标题,然后转到该新网址。如果您注意到页面刷新时标题会自动附加到URL。
当我考虑如何实现这一点时,它需要两个查询。第一个查询将根据id获取标题,然后形成新的url,并重定向到它。这次显示文章时,第二个URL将再次使用id查询数据库。
这是唯一的方法吗?我可以附加额外的参数而不实际重定向吗?
旁注:我正在使用cakePHP
答案 0 :(得分:2)
我认为是的,这是唯一的方法。
调用#1到example.com/(article id):服务器将在数据库中查询id,看到url不是规范的[1]并进行重定向。
调用#2到example.com/(article id)/(文章标题)会表现得正常,这意味着对数据库的更多查询......
^我建议你存储一篇文章生成的 url路径,这样你也可以在其他地方使用它。
这样,如果没有提供标题,路径将只是“/(文章ID)”,你不需要在这里进行重定向。