我一直想使用随机生成的字符串作为资源ID,因此我可以使用以下较短的URL:/ user / 4jz0k1
但是我从来没有这样做,因为我担心随机字符串的生成会产生实际的单词,例如:/ user / f * cker。这带来了两个问题:对用户而言可能令人困惑甚至令人反感,并且也可能与SEO混淆。
然后我想我所要做的就是建立一个固定的模式,例如每2个字母加一个数字。我对我的'generate_safe_uuid'方法感到非常满意,但是后来我意识到,它仅对SEO更好,对用户更糟,因为它增加了实际生成单词的比例,例如:/ user / g4yd1ck5
现在,我想我可以创建一个方法'replace_numbers_with_letters',并检查它是否未对字典或任何东西形成任何单词。
还有其他想法吗?
ps。在撰写本文时,我还意识到,检查一种以上语言(例如英语和法语,西班牙语等)中的单词将是一团糟,而我又开始喜欢仅数字的ID。
更新
每个人都应该阅读一些链接:
http://thedailywtf.com/Articles/The-Automated-Curse-Generator.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx