2013-02-14 48 views
3

我從來沒有做過URL重寫(重定向)。我有一個網站http://sub.sub.domain.ext/app/。 「app」表示「應用程序」,而不是虛擬目錄。 當用戶導航到http://sub.sub.domain.ext/app(無斜線)時,我需要IIS 7將他重定向到帶有斜槓的URL。簡單的斜槓URL重寫

問題是,我想要規則應用只有當用戶導航到應用程序。我不希望將尾部斜線附加到每個文件名。

我已經嘗試修改IIS7管理器中的預定義規則,但沒有成功。我試過完全匹配整個網址,限制條件,或者只是使用原始的預定義規則。但即使使用原始規則,它也會重寫所有後續請求文件/目錄/ URL,但它不會而不是將用戶從http://sub.sub.domain.ext/app重定向到http://sub.sub.domain.ext/app/

回答

3

您正在尋找的可能是簡單的規則:

<rule name="Add trailing slash" stopProcessing="true"> 
    <match url="^app$" negate="false" /> 
    <action type="Redirect" url="{R:0}/" /> 
</rule> 

url="^app$"模式只有網址http://www.yourwebsite.com/app並沒有別的比賽。
如果您需要限制這種行爲給主機sub.sub.domain.ext,你可以添加一個條件:

<rule name="test" stopProcessing="true"> 
    <match url="^app$" negate="false" /> 
    <action type="Redirect" url="{R:0}/" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^sub.sub.domain.ext$" /> 
    </conditions> 
</rule>