最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

URL Rewrite Module 2.1 URL重寫模塊規(guī)則寫法

 更新時間:2020年12月01日 12:50:46   投稿:mdxy-dxy  
URL重寫模塊是IIS的擴展,可作為獨立IIS Server的下載下載,并且還預先安裝在Windows Azure網站(WAWS)上的任何網站上,供您使用,本教程將指導您完成如何為URL重寫模塊創(chuàng)建和測試一組重寫規(guī)則

先決條件

本演練需要滿足以下先決條件:

IIS安裝 URL Rewrite Module 2.1

短地址http://www.iis.net/extensions/URLRewrite

下載頁面

https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

下載鏈接

https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi

https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_zh-CN.msi

啟用了ASP.NET角色服務的IIS 7或更高版本。
URL重寫模塊已安裝。有關更多信息,請參見使用URL重寫模塊。

設置測試網頁

為了演示URL重寫模塊如何工作,我們將使用一個簡單的測試ASP.NET頁面。該頁面讀取Web服務器變量,并在瀏覽器中輸出它們的值。

復制以下ASP.NET代碼,并將其放在名為article.aspx的文件的%SystemDrive%\ inetpub \ wwwroot \文件夾中:

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>URL Rewrite Module Test</title>
</head>
<body>
  <h1>URL Rewrite Module Test Page</h1>
  <table>
   <tr>
     <th>Server Variable</th>
     <th>Value</th>
   </tr>
   <tr>
     <td>Original URL: </td>
     <td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
   </tr>
   <tr>
     <td>Final URL: </td>
     <td><%= Request.ServerVariables["SCRIPT_NAME"] + "?" + Request.ServerVariables["QUERY_STRING"] %></td>
   </tr>
  </table>
</body>
</html>

復制此文件后,瀏覽http://localhost/article.aspx并檢查頁面是否在瀏覽器中正確呈現。

創(chuàng)建重寫規(guī)則

我們將創(chuàng)建一個簡單的重寫規(guī)則,該規(guī)則將使用以下格式重寫URL:

http://localhost/article/342/some-article-title

至:

http://localhost/article.aspx?id=342&title=some-article-title。

我們將使用IIS管理器中的URL重寫UI創(chuàng)建一個重寫規(guī)則。為此,請按照下列步驟操作:

1、轉到IIS管理器。

2、選擇默認網站。

3、在“功能視圖”中,單擊“ URL重寫”。

4、在右側的“操作”窗格中,單擊“添加規(guī)則…”。

5、在“添加規(guī)則”對話框中,選擇“空白規(guī)則”,然后單擊“確定”。

現在,您必須定義實際的重寫規(guī)則。在URL重寫模塊中,通過指定四項必需的信息來定義重寫規(guī)則:

  • 規(guī)則名稱。
  • 用于匹配URL字符串的模式。
  • 可選的一組條件。
  • 匹配模式并執(zhí)行所有條件檢查是否成功時要執(zhí)行的操作。

命名規(guī)則

在“名稱”文本框中,輸入將唯一標識該規(guī)則的名稱,例如:“重寫為article.aspx”。

定義模式

在模式文本框中,輸入以下字符串:

^article/([0-9]+)/([_0-9a-z-]+)

此字符串是一個正則表達式,它指定該模式將與滿足以下條件的任何URL字符串匹配:

  1. 以字符“ article /”的序列開頭。
  2. 在第一個“ /”之后包含一個或多個數字字符。
  3. 在第二個“ /”之后包含一個或多個字母數字或“ _”或“-”字符。

請注意,正則表達式的某些部分在括號內。這些括號創(chuàng)建捕獲組,以后可以通過使用反向引用在規(guī)則中對其進行引用。

定義動作

由于我們要創(chuàng)建的規(guī)則應該重寫URL,因此請選擇“操作”組框中列出的“重寫操作”類型。在“重寫URL:”文本框中,輸入以下字符串:

article.aspx?id={R:1}&title={R:2}

此字符串指定應將輸入URL重寫為的新值。請注意,對于查詢字符串參數的值,我們使用了{R:1}和{R:2},它們是對使用括號在規(guī)則模式中定義的捕獲組的反向引用。

保留所有其他設置的默認值?!熬庉嬋胝疽?guī)則”屬性頁面應類似于以下頁面:

通過單擊右側的“應用”來保存規(guī)則。

查看配置文件中的重寫規(guī)則

重寫規(guī)則存儲在ApplicationHost.config文件或Web.config文件中。要檢查我們剛剛創(chuàng)建的規(guī)則的配置,請打開%SystemDrive%\ inetpub \ wwwroot中的Web.config文件。在此文件中,您應該看到<rewrite>包含此規(guī)則定義的部分:

<rewrite>
 <rules>
 <rule name="Rewrite to article.aspx">
  <match url="^article/([0-9]+)/([_0-9a-z-]+)" />
  <action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" />
 </rule>
 </rules>
</rewrite>

上面的語法也適用于在Windows Azure網站(WAWS)的Web.config中配置URL重寫。

測試重寫規(guī)則

要測試該規(guī)則是否正確重寫了URL,請打開Web瀏覽器并請求以下URL:

http://localhost/article/234/some-title

您應該看到Web服務器上的重寫規(guī)則已將原始URL更改為Article.aspx,并且已將“ 234”和“ some-title”作為查詢字符串參數的值傳遞。

創(chuàng)建重定向規(guī)則

現在,我們將創(chuàng)建一個重定向規(guī)則,該規(guī)則將以以下格式重定向所有URL:

http://localhost/blog/some-other-title/543
格式如下:
http://localhost/article/543/some-other-title

重定向規(guī)則使一個以上的URL可以指向一個網頁。

為此,請在IIS管理器中打開URL重寫功能視圖UI。單擊“添加規(guī)則…”,然后再次選擇“空白規(guī)則”模板。

在“編輯規(guī)則”頁面中,輸入以下內容:

  • 名稱:從博客重定向(這是規(guī)則的唯一名稱。)
  • 模式:^ blog /([[_ 0-9a-z-] +)/([0-9] +)(此模式將匹配以“ blog”開頭的URL字符串,并將URL的第二和第三部分捕獲為反向引用。)
  • 行動:重定向(重定向動作將導致重定向響應發(fā)送回瀏覽器。)
  • 重定向URL:article / {R:2} / {R:1}(此替換字符串將用作重定向URL;請注意,它使用反向引用來保留和重新排列模式匹配期間捕獲的原始URL。)

輸入名稱,樣式和操作,如下所示:

輸入重定向URL,如下所示:

保留所有其他設置的默認值。通過單擊右側的“應用”來保存規(guī)則。

測試重定向規(guī)則

要測試該規(guī)則是否正確重定向了請求,請打開Web瀏覽器并請求以下URL:

http://localhost/blog/some-other-title/323

您應該看到,http://localhost/article/323/some-other-title由于執(zhí)行重定向規(guī)則,瀏覽器被重定向到,然后根據您先前創(chuàng)建的重寫規(guī)則重寫了請求。

創(chuàng)建訪問阻止規(guī)則

我們將創(chuàng)建的第三條規(guī)則用于阻止對網站的所有請求(如果這些請求未設置主機頭)。當您要防止通過針對服務器的IP地址而不是使用主機名發(fā)出HTTP請求而進行的黑客嘗試時,這種類型的規(guī)則很有用。

我們將在不使用IIS管理器的情況下創(chuàng)建此規(guī)則。%SystemDrive%\inetpub\wwwroot\在本文開頭用于article.aspx測試文件的文件夾中打開Web.config文件。找到該<rewrite>部分。將以下規(guī)則插入<rules>集合中,使其成為該集合中的第一條規(guī)則:

<rule name="Fail bad requests">
 <match url=".*"/>
 <conditions>
 <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
 </conditions>
 <action type="AbortRequest" />
</rule>

該<rewrite>部分應類似于以下代碼:

<rewrite>
 <rules>
 <rule name="Fail bad requests">
  <match url=".*"/>
  <conditions>
  <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
  </conditions>
  <action type="AbortRequest" />
 </rule>
 <rule name="Redirect from blog">
  <match url="^blog/([_0-9a-z-]+)/([0-9]+)" />
  <action type="Redirect" url="article/{R:2}/{R:1}" redirectType="Found" />
 </rule>
 <rule name="Rewrite to article.aspx">
  <match url="^article/([0-9]+)/([_0-9a-z-]+)" />
  <action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" />
 </rule>
 </rules>
</rewrite>

讓我們分析規(guī)則以了解它的作用。

<match url=".*"/>

上面的元素表示該規(guī)則將匹配任何URL字符串。

<add input="{HTTP_HOST}" pattern="localhost" negate="true" />

上面的元素為規(guī)則添加了一個條件,該條件通過讀取服務器變量HTTP_HOST來檢索主機頭值,并將其與模式“ localhost”進行匹配,然后取反結果。換句話說,該條件驗證主機頭與“ localhost”不匹配。

<action type="AbortRequest" />

上面的元素告訴URL重寫模塊結束HTTP請求。

測試訪問阻止規(guī)則

要測試此規(guī)則,請打開Web瀏覽器并向發(fā)出請求http://127.0.0.1/article/234/some-title。您應該看到的是沒有從服務器收到任何響應的瀏覽器。但是,如果您請求http://localhost/article/234/some-title,則Web服務器將成功響應。

失敗的顯示如下:

成功顯示如下:

概要

在本演練中,您學習了如何通過使用IIS管理器或手動編輯Web.config文件來配置URL重寫規(guī)則。在本演練中創(chuàng)建的規(guī)則演示了URL重寫模塊的一些重要功能,例如正則表達式支持以及使用HTTP標頭和服務器變量進行重寫決策的能力。

相關文章

  • 網站下載文件時 地址加jdfwkey=的說明

    網站下載文件時 地址加jdfwkey=的說明

    因WEB服務器前置硬防,地址加?jdfwkey=影響收錄的解決辦法
    2009-12-12
  • Apache?Pulsar結合Hudi構建Lakehouse方案分析

    Apache?Pulsar結合Hudi構建Lakehouse方案分析

    這篇文章主要為大家分析了Apache?Pulsar結合Hudi構建Lakehouse方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03
  • Mac下搭建php開發(fā)環(huán)境教程

    Mac下搭建php開發(fā)環(huán)境教程

    這篇文章主要介紹了Mac下搭建php開發(fā)環(huán)境教程,Mac OS X 內置了Apache 和 PHP,這樣使用起來非常方便。本文以Mac OS X 10.6.3為例,需要的朋友可以參考下
    2014-05-05
  • 銀河麒麟V10服務器版安裝達夢DM8數據庫的詳細過程

    銀河麒麟V10服務器版安裝達夢DM8數據庫的詳細過程

    這篇文章主要介紹了銀河麒麟V10服務器版安裝達夢DM8數據庫的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-03-03
  • Flink實踐Savepoint使用示例詳解

    Flink實踐Savepoint使用示例詳解

    這篇文章主要為大家介紹了Flink實踐Savepoint使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • TCP性能調優(yōu)實現原理及過程解析

    TCP性能調優(yōu)實現原理及過程解析

    這篇文章主要介紹了TCP性能調優(yōu)實現原理及過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 阿里云Centos7安裝svn與配置講解

    阿里云Centos7安裝svn與配置講解

    今天小編就為大家分享一篇關于阿里云Centos7安裝svn與配置講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • xampp中apache在windows7下無法啟動的解決方法

    xampp中apache在windows7下無法啟動的解決方法

    下載zip版本的xampp,無法啟動apache ,現象是短暫顯示了running標志之后就停止了,日志顯示WARNING:terminating worker thread 0。
    2010-03-03
  • N點主機管理系統的重裝步驟(圖文)

    N點主機管理系統的重裝步驟(圖文)

    這篇文章主要介紹了N點主機管理系統的重裝步驟(圖文),需要的朋友可以參考下
    2015-10-10
  • Zookeeper未授權訪問測試問題

    Zookeeper未授權訪問測試問題

    ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。這篇文章主要介紹了Zookeeper未授權訪問測試,需要的朋友可以參考下
    2019-10-10

最新評論

信阳市| 德惠市| 常熟市| 本溪| 罗源县| 长垣县| 尤溪县| 门源| 南溪县| 十堰市| 买车| 高青县| 庄浪县| 富阳市| 岱山县| 民和| 新余市| 商水县| 北碚区| 漾濞| 松江区| 鹤壁市| 襄樊市| 崇文区| 金华市| 张家界市| 太仓市| 塔河县| 河源市| 湘潭市| 柘城县| 梁山县| 磐石市| 霍州市| 延长县| 丰都县| 泸定县| 鲁山县| 天峻县| 荆州市| 教育|