|
|
|
|
|
當(dāng)用戶在移動(dòng)端訪問(wèn)到PC版網(wǎng)頁(yè)時(shí),是希望自動(dòng)跳轉(zhuǎn)到移動(dòng)端網(wǎng)頁(yè)的。此前我介紹過(guò)在網(wǎng)頁(yè)上用JS來(lái)判斷移動(dòng)端和實(shí)現(xiàn)跳轉(zhuǎn),本文要介紹的是,對(duì)于ASP.NET網(wǎng)站 ,如何通過(guò)Web.config實(shí)現(xiàn)移動(dòng)端判斷并跳轉(zhuǎn)。
實(shí)例代碼
<system.webServer>
<rewrite>
<!--移動(dòng)端直接跳轉(zhuǎn)到移動(dòng)h5頁(yè)面-->
<rules>
<rule name="userAgentsRewrite" stopProcessing="true">
<match url="^Factory$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="Android|Linux|iPhone|iPad|Phone|Mobile|MicroMessenger|micromessenger" />
</conditions>
<action type="Redirect" url="/mobile/#/" />
</rule>
</rules>
</rewrite>
</system.webServer>
代碼解釋
首先要安裝 URL_Rewrite 重寫模塊,否則 Web.config 里面配置 <rewrite> 是會(huì)報(bào)錯(cuò)的!
安裝 URL_Rewrite 重寫模塊,很簡(jiǎn)單,只需下載一個(gè)文件,幾秒鐘安裝完畢,參看下文及下載安裝文件。
上面的配置,是當(dāng)判定為移動(dòng)端的時(shí)候,XXXX.com/Factory
會(huì)跳轉(zhuǎn)到 XXXX.com/mobile/#/
。
<match>
是原地址。
<conditions>
是判定條件(只要滿足條件,才進(jìn)行重定向)。
{HTTP_USER_AGENT}
是獲取瀏覽器UA,pattern列舉了移動(dòng)端的UA名稱。
<action>
中 type 選 Redirect
時(shí),配置重定向地址。
以上都可以用正則表達(dá)式。
總結(jié)
本文是從全局來(lái)處理重定向問(wèn)題,通過(guò)簡(jiǎn)單的設(shè)置即可實(shí)現(xiàn),無(wú)需在各個(gè)頁(yè)面單獨(dú)設(shè)置那么麻煩,所以是一個(gè)值得推薦使用的方法。
不過(guò)正如前面說(shuō)的,你需要安裝一個(gè)URL_Rewrite重寫模塊,好在安裝此模塊文件十分簡(jiǎn)單。
至于rewrite重寫規(guī)則,你可以參考實(shí)例介紹Web.config rewrite規(guī)則設(shè)置url重寫功能這篇文章。
相關(guān)文章