2010-06-15 60 views
0

我想創建URL重寫規則,它將爲我的虛擬文件夾設置默認文檔。例如。成才這樣IIS URL重寫規則 - 子目錄的默認文檔

www.domain.com/en/ -> www.domain.com/en/index.aspx 
www.domain.com/hr/ -> www.domain.com/hr/index.aspx 
www.domain.com/de/ -> www.domain.com/de/index.aspx 

目錄連接,小時,日並沒有真正存在Web服務器上,他們是由家庭中使用的網站上使用的語只是標記成長HTTP模塊,將改寫帶有查詢參數的路徑。

快速的解決辦法是定義規則爲每一個郎,是這樣的:

<rewrite> 
    <rewriteMaps> 
     <rewriteMap name="Langs"> 
      <add key="/en" value="/en/index.aspx" /> 
      <add key="/hr" value="/hr/index.aspx" /> 
      <add key="/de" value="/de/index.aspx" /> 
     </rewriteMap> 
    </rewriteMaps> 
<rules> 

但我真的想解決方案,不需要在web.config中和在特定使用的每一個變化的語添加重寫規則現場。

謝謝!

回答

2
<rule name="Lang-Redirect"> 
    <match url="^(\w{2})\/?$" /> 
    <action type="Rewrite" url="{R:1}/index.aspx" /> 
</rule> 

這應該允許您從請求中捕獲語言標記並將其重寫到您的自定義http處理程序。

+0

哇,這麼快,而且效果很棒:) tnx! – 2010-06-15 09:19:17