创建干净的URL并管理重复

时间:2010-12-11 16:30:08

标签: c# sql asp.net-mvc

我正在使用asp.net mvc c#。根据用户输入,我想保存他们在数据库中输入的文本,并使用此文本创建一个URL。此文本也会有一个唯一的ID。

创建“干净”网址时我应该考虑什么?

还应该如何避免重复 - 即每个网址都应该是唯一的, 所以如果2个人输入:“嘿,检查我的酷网址!!”

我可能想要http://www.mysite.com/links/hey-check-my-cool-url/

之类的东西

我如何确保它们始终是唯一的,如果输入两次相同的描述我该怎么办?

2 个答案:

答案 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,}

此表达式应匹配不是字母数字的所有内容。