C# 重定向永久不重定向到url
我正在编写一个简单的URL缩短器 除了重定向,一切都正常 以下是尝试重定向的代码:C# 重定向永久不重定向到url,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在编写一个简单的URL缩短器 除了重定向,一切都正常 以下是尝试重定向的代码: public async Task<ActionResult> Click(string segment) { string referer = Request.UrlReferrer != null ? Request.UrlReferrer.ToString() : string.Empty; Stat stat = await this._urlManag
public async Task<ActionResult> Click(string segment)
{
string referer = Request.UrlReferrer != null ? Request.UrlReferrer.ToString() : string.Empty;
Stat stat = await this._urlManager.Click(segment, referer, Request.UserHostAddress);
return this.RedirectPermanent(stat.ShortUrl.LongUrl);
}
谢谢 不要使用
RedirectPermanent()
尝试使用Redirect()
如下所示。指定的URL必须是绝对URL,否则它将尝试在应用程序中重定向到
您可以检查http://是否存在,并相应地添加它
if(!stat.ShortUrl.LongUrl.Contains("http://"))
return Redirect("http://" + stat.ShortUrl.LongUrl);
(或)
使用StartsWith()
string函数
if(!stat.ShortUrl.LongUrl.StartsWith()("http://"))
return Redirect("http://" + stat.ShortUrl.LongUrl);
不要使用
RedirectPermanent()
尝试使用下面的Redirect()
。指定的URL必须是绝对URL,否则它将尝试在应用程序中重定向到
您可以检查http://是否存在,并相应地添加它
if(!stat.ShortUrl.LongUrl.Contains("http://"))
return Redirect("http://" + stat.ShortUrl.LongUrl);
(或)
使用StartsWith()
string函数
if(!stat.ShortUrl.LongUrl.StartsWith()("http://"))
return Redirect("http://" + stat.ShortUrl.LongUrl);
而
LongUrl
返回什么?@DovydasSopa LongUrl返回www.google.com如果LongUrl包含http://,则它可以工作。有没有办法代替检查url是否包含http://?您需要通过包含像http://这样的协议来创建LongUrl
和绝对url。否则它会认为你在尝试一个相对重定向,差不多就是这样。您可以在添加时将其验证为完整的URL,因此人们首先不能使用“www.google.com”之类的内容。除此之外,您只需更正它。LongUrl
返回什么?@DovydasSopa LongUrl返回www.google.com如果LongUrl包含http://,它会起作用。有没有办法代替检查url是否包含http://?您需要通过包含像http://这样的协议来创建LongUrl
和绝对url。否则它会认为你在尝试一个相对重定向,差不多就是这样。您可以在添加时将其验证为完整的URL,因此人们首先不能使用“www.google.com”之类的内容。除此之外,您只需更正它。Not包含
。使用StartsWith
。不包含。使用StartsWith
。