由於某些原因,我必須將請求從我的MVC 4應用程序重定向到絕對URL位於其他域的頁面。這裏是我使用的代碼:絕對URL重定向在MVC中不起作用4
public ActionResult Test(string url)
{
return Redirect(url);
}
一切工作正常,當我試試我的本地機器上,但是當我的代碼發佈到生產和設法得到它在那裏工作,然後我有一些問題。 ..例如,要將請求重定向到'https://stackoverflow.com/questions/ask',它將被重定向到'http:// {{myserverdomain.com}}/questions/ask'。所以這個請求將被重定向到本地路徑'questions/ask'而不是絕對URL。
不知道我應該檢查什麼和在哪裏。我將不勝感激任何提示可能是什麼問題,並在那裏檢查一下......
以防萬一:該服務器是Windows Server 2008 R2的企業
UPDATE
URL/HTML編碼不是問題的原因。改變方法的
public ActionResult Test()
{
return Redirect("https://stackoverflow.com/questions/ask");
}
會產生相同的結果...這將被重定向到「問題/問」 /懷疑與URL重寫模塊的原因,但不知道如何檢查它尚未...
SOLUTION
這裏是幫助解決問題的鏈接:http://forums.iis.net/t/1171047.aspx
我從來沒有見過這個,但我會檢查一些事情。首先,您的網址是HTML/URL編碼並導致問題。其次,你是否在你的url中包含協議(http(s)://)?如果你真的先在控制器中設置url,然後重定向(例如,用上面的示例),結果如何?最後,如果您將URl傳遞給控制器以重定向,爲什麼不在您的視圖中將該鏈接設置爲您的鏈接的目標? – Tommy 2013-03-28 03:03:59
Url/Html編碼不是原因...只是改變了問題的描述。這是測試示例,實際上我不會將URL作爲方法的參數:) – 2013-03-28 11:34:49