IIS7偽靜態(tài)web.config配置的方法和規(guī)則

字號:


    以前在IIS6上配置偽靜態(tài)還是挺復(fù)雜的,IIS7之后使用了插件機制,這讓我們做偽靜態(tài)變得簡單多了。
    一、服務(wù)器需要安裝:URL Rewrite 擴展
    下載地址:http://www.iis.net/download/URLRewrite
    提示:雖然IIS7也可以使用以前在IIS6上那種老的方法來配置偽靜態(tài),但是我們不使用,因為那樣的話就體現(xiàn)不出IIS7的優(yōu)勢了。
    二、在 web.config 中配置偽靜態(tài)規(guī)則
    注意要點
    1.參數(shù)用“()” 括起來 ,使用 {R:1}來獲得參數(shù)
    2.多個參數(shù)中間用 & 分割
    3.name切記不能寫一樣
    代碼如下:
    <?xml version="1.0"?>
    <configuration>
    <system.webServer>
            <rewrite>
                <rules>
                    <!--301重定向把不帶3W的域名 定向到帶3W-->
                    <rule name="Redirect" stopProcessing="true">
                        <match url=".*" />
                        <conditions>
                            <add input="{HTTP_HOST}" pattern="^jb51.net$" />
                        </conditions>
                        <action type="Redirect" url="http://www.jb51.net/{R:0}" redirectType="Permanent" />
                    </rule>
                    <!--首頁-->
                    <rule name="rD">
                        <match url="^$" />
                        <action type="Rewrite" url="Default.aspx" />
                    </rule>
                    <!--產(chǎn)品列表-->
                    <rule name="rP">
                        <match url="^product/$" />
                        <action type="Rewrite" url="ProductList.aspx" />
                    </rule>
                    <!--產(chǎn)品列表第幾頁-->
                    <rule name="rPL">
                        <match url="^product/list-([0-9]*).html$" />
                        <action type="Rewrite" url="ProductList.aspx?page={R:1}" />
                    </rule>                
                    <!--產(chǎn)品類別列表-->
                    <rule name="rPT">
                        <match url="^product/([A-Za-z0-9-]*)/$" />
                        <action type="Rewrite" url="ProductList.aspx?typeUrl={R:1}" />
                    </rule>
                    <!--產(chǎn)品類別列表第幾頁-->
                    <rule name="rPTL2">
                        <match url="^product/([A-Za-z0-9-]*)/list-([0-9]*).html$" />
                        <action type="Rewrite" url="ProductList.aspx?typeUrl={R:1}&page={R:2}" />
                    </rule>
                    <!--產(chǎn)品詳細-->
                    <rule name="rPd">
                        <match url="^product/([A-Za-z0-9-]*)/([A-Za-z0-9-]+).html$" />
                        <action type="Rewrite" url="ProductDetail.aspx?typeUrl={R:1}&url={R:2}" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>