在windows主機(jī)IIS系統(tǒng)環(huán)境中,IIS版本可能是6.0、6.5、7.0、7.5、8.0等不同的版本,可分為以下兩種情況實(shí)現(xiàn)301重定向:
如果是IIS屬于7.0以下,比如IIS6.0、IIS6.5版本,則通過httpd.ini配置文件實(shí)現(xiàn)301重定向 ;
如果IIS屬于7.0或以上,比如IIS7.0、IIS7.5版本,則通過Web.config配置文件實(shí)現(xiàn)301重定向:
下面,我們就分別介紹以上兩種情況的單個和多個域名重定向的方法:
一、單個域名重定向的方法
1、通過httpd.ini實(shí)現(xiàn)單域名301重定向
以劉代碼博客的域名為例,以下代碼現(xiàn)實(shí)的是將不帶www的頂級域名liudaima.com,重定向到帶www的域名www.liudaima.com;具體實(shí)現(xiàn)方法如下:
在網(wǎng)站根目錄下的httpd.ini配置文件里添加如下代碼,如果沒有該文件,請先創(chuàng)建一個httpd.ini文件!
[ISAPI_Rewrite] CacheClockRate 3600 RepeatLimit 32 RewriteCond Host: ^xiuzhanwang.com$ RewriteRule (.*) http://mengdiqiu.com.cn$1 [I,R] |
請記住,要把其中我的域名換成你的域名。
2、通過Web.config實(shí)現(xiàn)單域名301重定向
在網(wǎng)站根目錄下創(chuàng)建一個配置文件命名為Web.comfig(注意:第一個字母W是大寫),然后,在該配置文件中添加如下代碼:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="301Redirect" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="^xiuzhanwang.com$" /> </conditions> <action type="Redirect" url="http://mengdiqiu.com.cn/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration> |
這段Web.config文件內(nèi)的重定向代碼,同樣表示的是把不帶www的頂級域名xiuzhanwang.com,重定向到帶www的域名mengdiqiu.com.cn
注:此方法只能重定向首頁,如需整站301跳轉(zhuǎn),需要在iis7中新建一個站點(diǎn)不帶www,隨便指定一個目錄,設(shè)置這個站點(diǎn)301跳轉(zhuǎn)到帶www 的即可,這點(diǎn)網(wǎng)上很多地方都沒有說。
二、多個域名重定向的方法
前面兩種方法主要是單個域名重定向的方法,接下來,我們再介紹多個域名如何重定向到一個域名,同樣分別介紹httpd.ini 和web.config的規(guī)則寫法。
1、通過httpd.ini實(shí)現(xiàn)多個域名重定向。
比如,我要將域名“xiuzhanwang.com”、“seo.xiuzhanwang.com”兩個域名都重定向到“mengdiqiu.com.cn”,就可以使用下面的重定向代碼:
[ISAPI_Rewrite] CacheClockRate 3600 RepeatLimit 32 RewriteCond Host: ^xiuzhanwang.com$ RewriteRule (.*) http://mengdiqiu.com.cn$1 [I,R] RewriteCond Host: ^seo.xiuzhanwang.com$ RewriteRule (.*) http://mengdiqiu.com.cn$1 [I,R] |
記得把以上代碼中的域名替換成你的就可以了;如果你還有域名要重定向,只需要繼續(xù)將以下代碼中的域名替換成你的域名后,就添加到httpd.ini配置文件里即可。
比如,我們還想把“www.liusongsong.com”也重定向到“mengdiqiu.com.cn”,就可以直接替換好的代碼繼續(xù)添加到httpd.ini配置文件中。
RewriteCond Host: ^www.liusongsong.com$ RewriteRule (.*) http://mengdiqiu.com.cn$1 [I,R] |
2、通過Web.config實(shí)現(xiàn)多個域名重定向。
在web.config配置文件中,添加多域名重定向,只需在被重定向的域名后面加一個豎線”|”,緊接著跟上需要被重定向的另一個域名.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^xiuzhanwang.com|www.liusongsong.com$" /> </conditions> <action type="Redirect" url="http://mengdiqiu.com.cn/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration> |
如果你還要添加一個域名,就繼續(xù)在后面加一個豎線”|”,緊接著也是跟上一個域名。