Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> iis 7 配置web.config實現偽靜態實現代碼

iis 7 配置web.config實現偽靜態實現代碼

日期:2017/2/8 10:12:39      編輯:關於服務器

在 IIS7中我們不再需要安裝其他組件,通過在 web.config 進行簡單的配置即可實現 URL 的偽靜態。方法如下:

在 web.config 配置文件的 configuration 節點中加入下邊的代碼:

 代碼如下  

<system.webServer>
    <rewrite>
        <rules>
            <rule name="rulename">
                <match url="newurl" ignoreCase="false" />
                <action type="Rewrite" url="oriurl" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

其中, rule 節點即為每個重寫規則,match 節點為偽靜態的規則;ignoreCase 是忽略大小寫;action 是響應的 URL,即真正的URL;appendQueryString 為是否跟參數。添加多個 rule 時,注意 name 名稱應該保持不同。

以下直接給出本站的 URL 重寫規則,相信大家會一目了然:

 代碼如下  

<rewrite>
    <rules>
        <rule name="rule1">
            <match url="articles/(S+).html" ignoreCase="true" />
            <action type="Rewrite" url="articles/Default.aspx?SubClass={R:1}" appendQueryString="true" />
        </rule>
    </rules>
</rewrite>

可見,在 IIS6 裡如果跟參數的話使用 $ 字符,在 IIS7 使用{R:數字}代替 $ 字符。至於多個參數時,別忘記使用 &amp; 替換 & 符號。

如果你是iis6可參考下面方法來實例偽靜態


我們需要下載微軟官方提供的URLRewriter.dll,下載後將些dll文件引用到我們的項目中。接下來,需要在web.config裡進行一些簡單的配置,就可以實現url的重定向。

首先,在webconfig中找到configSections,在以下位置加入給出的代碼:

 代碼如下  

</sectionGroup>
        <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
    </configSections> 

接下來,找到httpHandlers,在以下位置加入給出的代碼:

 代碼如下           <httpHandlers>
       <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
   <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

上邊加入的代碼,就會對.html和.aspx後綴的url路徑進行重定向。最後,我們要加入重定向的規則,從而實現url重定向。

 代碼如下  

  </configSections>
    <RewriterConfig>
        <Rules>
            <RewriterRule>
                <LookFor>~/article/(S+)/(d{8})/(S+).html</LookFor>
                <SendTo>~/article/default.aspx?Sub=$1&UrlName=$3</SendTo>
            </RewriterRule>
        </Rules>
    </RewriterConfig>

上邊就是重定向的規則,上邊是以我自己的小站為例。將domain/article/文章類型/發布時間/文章名稱.html重新定向到了domain/article/default.aspx?Sub=文章類型&UrlName=文章名稱 。我自己對正則也不是很了解,^_^。如果有興趣大家可以學習下,最後別忘了要將 &UrlName中的&符號寫成&amp; ,

Copyright © Windows教程網 All Rights Reserved