干净的URL(可能带有slug)

时间:2013-04-01 12:20:41

标签: node.js express

我正在使用mongodb来存储数据。默认_id很长而且不干净。所以现在我的路线如下:example.com/job/sdg3463retgeragsehxcwe35435ert5

工作正常。

但有没有办法自动增加Numbers并保存自定义ID(字段名称为serial_number)?

我是这样实现的:创建另一个集合来存储上次保存的序列号。然后在保存新数据的同时增加它。这很好,但还有更好的方法吗?

另外,如何使用slug而不是id来保存网址?我是否需要一个单独的集合来存储slug及其相关ID?

如果我使用原始mongodb _id怎么办?是否会严重损害搜索引擎优化?还是其他任何问题?

这很好,但只是想知道专业人士是如何做到的。

2 个答案:

答案 0 :(得分:3)

如果您愿意使用字母数字ID,那么shortid模块的效果非常好。 https://github.com/dylang/shortid

如果你想要真正的slu and并使用猫鼬,你可以试试mongoose-uniqueslus模块。 https://github.com/punkave/mongoose-uniqueslugs.git

答案 1 :(得分:1)

  1. 您应该使用.htaccess
  2. 将所有流量重定向到index.php
  3. 在index.php上你必须选择如何处理url结尾,即$_SERVER["REQUEST_URI"]变量中的storeg
  4. 根据其价值,您可以显示您想要的任何内容:)
  5. 注意:除非您在.htaccess中进行更多更改,否则http://domain.com/index.php等绝对链接将继续有效。