1. 程式人生 > >iis7 url重寫和重定向

iis7 url重寫和重定向

新建兩個站點,埠分別使用 80 和 81,在DNS中新建A記錄,指向該計算機(10.4.34.41)

配置過程如下:

1.在Windows Server 2012 R2上 安裝ARR,URL Rewriter元件。

  ARR3.0需要如下元件支援:Web Farm Framework 2.2(該元件又需要Web Platform Installer 3.0 和 WebDeploy 2.0元件的支援)

  URL Rewriter2.0(For IIS7.0,支援Win 2012 R2)直接安裝即可。

  下載地址:http://www.iis.net/downloads/microsoft/application-request-routing

         http://www.iis.net/downloads/microsoft/web-farm-framework

         http://www.microsoft.com/en-us/download/details.aspx?id=7435  依次安裝完如上元件後,可以在IIS控制檯中看到 ARR 和 URL重寫 安裝成功   2.啟用ARR:開啟ARR,然後在右側對其啟用(使用預設設定即可) 3.配置 URL重寫,對URL進行過濾,將不同的訪問請求(根據URL(DNS中的配置)進行過濾)定向到相應的站點    該設定表明只有HTTP_HOST為la80.ddv.com的URL才能通過該規則,如果綁定了多個域名,可以根據多次增加或者通過正則表示式的 | 來間隔
 {R:1}表示了Match Url 中的第一個匹配括號

配置完成後如下圖:

在外部訪問 la80.ddv.com 和la81.ddv.com可以訪問成功。

通過配置web.config檔案,也可以實現 URL重寫,如下:

      <rewrite>
        <rules>
          <rule name="phpweb">
            <match url="^(.*)" />
            <conditions>
              <add input="{HTTP_HOST}" pattern="^phpweb.leven.com.cn$" />
            </conditions>
            <action type="Rewrite" url="http://localhost:8081/{R:1}" />
          </rule>
        </rules>
      </rewrite>

參考來源:http://blog.sina.com.cn/s/blog_532f78a40100rlpn.html

ARR安裝完成後,如果在IIS裡面看不到ARR圖示,解決方法如下

1.分別通過如下命令開啟 IIS管理器,檢視有無ARR圖示:

%windir%\System32\inetsrv\iis.msc
%windir%\system32\inetsrv\InetMgr.exe

2.通過PS指令碼檢查ARR是否安裝成功:

$dll=[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
#Get the manager and config object
$mgr = new-object Microsoft.Web.Administration.ServerManager
$conf = $mgr.GetApplicationHostConfiguration()
#Get the webFarms section
$section = $conf.GetSection("webFarms")
$section

(2)url 重定向(實現中間代理)