2012-11-27 49 views
1

我的網站託管在具有多個虛擬目錄的服務器上,並且我有不同的域名指向它們各自的虛擬目錄。我的網站在Visual Studio中的調試模式下工作正常,沒有發生任何異常。MVC重定向將虛擬目錄添加到URL

的URL是一樣的東西http://www.greatsite.com,但RedirectToAction鏈接是這樣的:

return RedirectToAction("Profile", "Account"); 

我想在這裏去...

http://www.greatsite.com/Account/Profile

...正在而不是去這裏:

http://www.greatsite.com/greatsite/Account/Profile

...其中'greatsite'是虛擬目錄的名稱。

該網站正在使用FTP發佈,FTP地址直接指向'greatsite'文件夾。因此,該網站發佈到根目錄就FTP去。

該頁面顯示任一方式。該URL指向虛擬目錄,我很困惑他們爲什麼會同時工作。

編輯

我終於找到了答案在這裏: https://stackoverflow.com/questions/364637/asp-net-mvc-on-godaddy-not-working-not-primary-domain-deployment

所以,你可能要關閉此爲重複的問題,對不起。除非有人能夠更詳細地解釋這個解決方案。

<rewrite> 
    <rules> 
     <rule name="Remove Virtual Directory"> 
      <match url=".*" /> 
      <action type="Rewrite" url="{R:0}" /> 
     </rule> 
    </rules> 
</rewrite> 
+0

可能重複http://stackoverflow.com/questions/364637/ asp-net-mvc-on-godaddy-not-working-not-primary-domain-deployment) –

回答

1

RedirectToAction將重定向到當前asp.net mvc應用程序中的另一個Action/Controller。您可以使用重定向方法重定向到外部URL。

return Redirect("http://www.externalurl.com"); 

或另一個虛擬目錄:

return Redirect("http://www.externalurl.com/directory"); 
[ASP.NET MVC上GoDaddy的不工作(不主域部署)](的
+0

我實際上並不想重定向到我的應用程序之外的外部URL。我想知道爲什麼虛擬目錄名稱正在被添加到鏈接,當我從未添加它,以及如何避免。 – Dave

+0

在這種情況下,應該將FTP中的根文件夾設置爲應用程序的虛擬目錄,並將其存放在那裏。 –

+0

當前ftp用戶的路徑是虛擬目錄的名稱。這是問題嗎?我不知道如何以其他方式做到這一點。 – Dave