缺少http://前缀的超链接相对于站点而不是外部链接

时间:2016-03-07 22:16:19

标签: asp.net asp.net-mvc razor

用户可以选择输入保存到数据库的超链接,然后再渲染到Razor模板。但是,如果用户未指定http://,则链接格式不正确;例如www.test.com呈现为http://ourdomain.com/www.test.com

我们该如何处理?

1 个答案:

答案 0 :(得分:3)

最好的办法是在将每个超链接保存到数据库中之前运行正则表达式。如果它没有http://https://,那么我只需在前面添加http://。所有https网站都会将http重定向到https,但大多数不支持https的网站都无法顺利将https重定向到http。

可能的正则表达式的一个例子是:

^(http|https)://

您要小心,只有在字符串验证开头处替换http://https://,以防这些值在url参数中使用