IIS7以上版本的空間配置偽靜態等內容與IIS6與很大區別的,IIS6是在httpd.conf文件中寫配置規則,而IIS7則是在根目錄下的web.config文件中寫規則,而且寫法也大有不同。
如果你的網站已有web.config文件,則把以下規則直接寫在節點 中就可以,如果沒有web.config文件,需要在根目錄新建一個,內容按照下面的完全復制即可,注意:所有配置規則都要寫在節點中。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="301Redirectwww" stopProcessing="true"> <match url="(.*)"/> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="^zztuku\.com$"/> </conditions> <action type="Redirect" url="https://www.zztuku.com/{R:0}" redirectType="Permanent"/> </rule> </rules> </rewrite> </system.webServer> </configuration>
一、網站301重定向
<rule name="301Redirectwww" stopProcessing="true"> <match url="(.*)"/> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="^zztuku\.com$"/> </conditions> <action type="Redirect" url="https://www.zztuku.com/{R:0}" redirectType="Permanent"/> </rule>
要注意的是,所有規則的name名字不能一樣,這里的“301Redirectwww”可以自己隨意命名。這段代碼可以實現將不帶www的網址定向到帶www的,同理,其他域名跳轉把網址做相應改變。
二、去index.html、index.php等后綴
<rule name="Redirectindex" stopProcessing="true"> <match url="^index.html"/> <conditions logicalGrouping="MatchAny"/> <action type="Redirect" url="https://www.zztuku.com/" redirectType="Permanent"/> </rule>
根據自己的需求,將要去掉的后綴名替換。
三、偽靜態規則
<rule name="Redirecttagsl" stopProcessing="true"> <match url="^tags/(\w+)/([0-9]+).html"/> <action type="Rewrite" url="tags.php?/{R:1}/{R:2}/"/> </rule>
1、偽靜態規則根據不同的網址形式有不同的寫法,只是提供一個參考,其中通配符與百度移動適配中提到的正則式相同,大家可以參考《百度優化之移動適配代碼正則表達式適配》。
2、規則語句中,match語句中網址前不能加“/”:
<match url="^tags/(\w+)/([0-9]+).html"/>
網址tags前面的“/”沒有。
3、action語句中不能使用轉義符:
<action type="Rewrite" url="tags.php?/{R:1}/{R:2}/"/>
網址中特殊符號并不需要轉義。
4、偽靜態規則中, {R:1}、{R:2}中1、2等數字代表與目標網址中的參數對應,第一個參數后面對應要寫1,以此類推。