我正在使用asp.net mvc c#。根据用户输入,我想保存他们在数据库中输入的文本,并使用此文本创建一个URL。此文本也会有一个唯一的ID。
创建“干净”网址时我应该考虑什么?
还应该如何避免重复 - 即每个网址都应该是唯一的, 所以如果2个人输入:“嘿,检查我的酷网址!!”
我可能想要http://www.mysite.com/links/hey-check-my-cool-url/
之类的东西我如何确保它们始终是唯一的,如果输入两次相同的描述我该怎么办?
答案 0 :(得分:1)
大多数人最终会得到一些loannis karadimas解决方案的变化。但是,我倾向于使用的两种方案是:
http:///www.mysite.com/links/xxx/hey-check-my-cool-url
这是因为它表明xxx数字不是链接标题的一部分(取决于你在做什么)。
http:///www.mysite.com/links/hey-check-my-cool-url-xxx
http:///www.mysite.com/links/hey-check-my-cool-url/xxx
基本上将xxx数字放在最后,因为出于搜索引擎优化的目的(如果你关心的话),更接近网址根目录的单词更有可能具有较高的页面排名等级。当然,像大多数其他SEO技巧一样,用一粒盐!
PS,我对ASP一点都不太了解。
答案 1 :(得分:0)
您可以添加一个小的(随机)序列或强制用户输入不同的短语,具体取决于您的要求(我更喜欢第一个):
http:///www.mysite.com/links/xxx-hey-check-my-cool-url/
我只考虑字母和数字,通过使用简单的正则表达式作为白名单方法来删除其他所有内容,即:
[^\w\d]{1,}
此表达式应匹配不是字母数字的所有内容。