2013-10-30 70 views
1

我有一個asp.net MVC 4應用程序,我在web.config中這一規則如何重寫工作在web.config中system.webserver

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

我不明白爲什麼以及如何工作。我使用它,因爲GoDaddy的url中增加了一個虛擬路徑與應用程序所在的文件夾的名稱。 即example.com/foldername/index成爲example.com/index

那麼,如何在找到virual路徑「 *」,並刪除它。什麼是{R:0}? 謝謝。

+0

這個規則是否在一個不在服務器根目錄下的'web.config'中? – cheesemacfly

+0

@cheesemacfly它不在服務器的根目錄中。它在一個文件夾中。 Web應用程序在那裏。 Web配置位於應用程序的根目錄中。 –

回答

0

嗯似乎我匹配的網址這個正則表達式匹配每個網址,它不允許重定向包含虛擬路徑的網址。由於mvc的路由發現資源。

至於{R:0}。請求url是第一個參數,因此是0,正則表達式是secont參數不使用。這將是{R:1}。

相關問題