欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

先決條件

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

IIS安裝 URL Rewrite Module 2.1

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

下載頁(yè)面

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角色服務(wù)的IIS 7或更高版本。
URL重寫(xiě)模塊已安裝。有關(guān)更多信息,請(qǐng)參見(jiàn)使用URL重寫(xiě)模塊。

設(shè)置測(cè)試網(wǎng)頁(yè)

為了演示URL重寫(xiě)模塊如何工作,我們將使用一個(gè)簡(jiǎn)單的測(cè)試ASP.NET頁(yè)面。該頁(yè)面讀取Web服務(wù)器變量,并在瀏覽器中輸出它們的值。

復(fù)制以下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>

復(fù)制此文件后,瀏覽http://localhost/article.aspx并檢查頁(yè)面是否在瀏覽器中正確呈現(xiàn)。

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

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

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

至:

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

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

1、轉(zhuǎn)到IIS管理器。

2、選擇默認(rèn)網(wǎng)站。

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

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

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

現(xiàn)在,您必須定義實(shí)際的重寫(xiě)規(guī)則。在URL重寫(xiě)模塊中,通過(guò)指定四項(xiàng)必需的信息來(lái)定義重寫(xiě)規(guī)則:

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

命名規(guī)則

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

定義模式

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

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

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

  1. 以字符“ article /”的序列開(kāi)頭。
  2. 在第一個(gè)“ /”之后包含一個(gè)或多個(gè)數(shù)字字符。
  3. 在第二個(gè)“ /”之后包含一個(gè)或多個(gè)字母數(shù)字或“ _”或“-”字符。

請(qǐng)注意,正則表達(dá)式的某些部分在括號(hào)內(nèi)。這些括號(hào)創(chuàng)建捕獲組,以后可以通過(guò)使用反向引用在規(guī)則中對(duì)其進(jìn)行引用。

定義動(dòng)作

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

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

此字符串指定應(yīng)將輸入U(xiǎn)RL重寫(xiě)為的新值。請(qǐng)注意,對(duì)于查詢字符串參數(shù)的值,我們使用了{(lán)R:1}和{R:2},它們是對(duì)使用括號(hào)在規(guī)則模式中定義的捕獲組的反向引用。

保留所有其他設(shè)置的默認(rèn)值?!熬庉嬋胝疽?guī)則”屬性頁(yè)面應(yīng)類(lèi)似于以下頁(yè)面:

通過(guò)單擊右側(cè)的“應(yīng)用”來(lái)保存規(guī)則。

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

重寫(xiě)規(guī)則存儲(chǔ)在ApplicationHost.config文件或Web.config文件中。要檢查我們剛剛創(chuàng)建的規(guī)則的配置,請(qǐng)打開(kāi)%SystemDrive%\ inetpub \ wwwroot中的Web.config文件。在此文件中,您應(yīng)該看到<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>

上面的語(yǔ)法也適用于在Windows Azure網(wǎng)站(WAWS)的Web.config中配置URL重寫(xiě)。

測(cè)試重寫(xiě)規(guī)則

要測(cè)試該規(guī)則是否正確重寫(xiě)了URL,請(qǐng)打開(kāi)Web瀏覽器并請(qǐng)求以下URL:

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

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

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

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

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

重定向規(guī)則使一個(gè)以上的URL可以指向一個(gè)網(wǎng)頁(yè)。

為此,請(qǐng)?jiān)贗IS管理器中打開(kāi)URL重寫(xiě)功能視圖UI。單擊“添加規(guī)則…”,然后再次選擇“空白規(guī)則”模板。

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

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

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

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

保留所有其他設(shè)置的默認(rèn)值。通過(guò)單擊右側(cè)的“應(yīng)用”來(lái)保存規(guī)則。

測(cè)試重定向規(guī)則

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

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

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

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

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

我們將在不使用IIS管理器的情況下創(chuàng)建此規(guī)則。%SystemDrive%\inetpub\wwwroot\在本文開(kāi)頭用于article.aspx測(cè)試文件的文件夾中打開(kāi)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>部分應(yīng)類(lèi)似于以下代碼:

<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ī)則添加了一個(gè)條件,該條件通過(guò)讀取服務(wù)器變量HTTP_HOST來(lái)檢索主機(jī)頭值,并將其與模式“ localhost”進(jìn)行匹配,然后取反結(jié)果。換句話說(shuō),該條件驗(yàn)證主機(jī)頭與“ localhost”不匹配。

<action type="AbortRequest" />

上面的元素告訴URL重寫(xiě)模塊結(jié)束HTTP請(qǐng)求。

測(cè)試訪問(wèn)阻止規(guī)則

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

失敗的顯示如下:

成功顯示如下:

概要

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

相關(guān)文章

  • 詳解git倉(cāng)庫(kù)遷移的兩種解決方案

    詳解git倉(cāng)庫(kù)遷移的兩種解決方案

    這篇文章主要介紹了詳解git倉(cāng)庫(kù)遷移的兩種解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Rsync 服務(wù)器文件同步的搭建以及使用

    Rsync 服務(wù)器文件同步的搭建以及使用

    rsync 是類(lèi)unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具, 它可以鏡像保存整個(gè)目錄樹(shù)和文件系統(tǒng)。并且很容易做到保持原文件的權(quán)限,時(shí)間,軟硬鏈接等等
    2013-11-11
  • 使用HMAILSERVER搭建郵件服務(wù)器圖文教程

    使用HMAILSERVER搭建郵件服務(wù)器圖文教程

    本文沒(méi)有什么高深的技術(shù)內(nèi)容,只是以windows server 2008 為例,使用HMAILServer,介紹搭建郵件服務(wù)器的全過(guò)程,供參考
    2016-10-10
  • 淺析NFS服務(wù)器原理以及搭建配置部署步驟

    淺析NFS服務(wù)器原理以及搭建配置部署步驟

    本文對(duì)NFS服務(wù)器原理作了簡(jiǎn)要的分析,對(duì)NFS服務(wù)器的搭建配置步驟作了詳細(xì)的圖文描述,有需要的朋友可以借鑒參考下,希望可以對(duì)你有所幫助
    2021-08-08
  • Nginx服務(wù)器負(fù)載均衡及ssl原理、生成ssl密鑰對(duì)、Nginx配置ssl操作示例

    Nginx服務(wù)器負(fù)載均衡及ssl原理、生成ssl密鑰對(duì)、Nginx配置ssl操作示例

    這篇文章通過(guò)大量的實(shí)例總結(jié)了nginx服務(wù)器上負(fù)載均衡的概念、配置、ssl原理、密鑰對(duì)生成以及nginx服務(wù)器上配置ssl的相關(guān)操作實(shí)現(xiàn)方法
    2018-05-05
  • 教你如何組裝raid5及raid1磁盤(pán)陣列服務(wù)器

    教你如何組裝raid5及raid1磁盤(pán)陣列服務(wù)器

    最近又親手給一個(gè)朋友組裝了一臺(tái)采用雙核心P4 820D處理器的8硬盤(pán)的1U機(jī)架式存儲(chǔ)型服務(wù)器,在組裝過(guò)程中,分別組建了硬件Raid5和軟件Raid5的磁盤(pán)陣列,過(guò)程很值得玩味,現(xiàn)在寫(xiě)出詳細(xì)的設(shè)置過(guò)程,以期拋磚引玉
    2023-04-04
  • windows服務(wù)器管理的安全注意事項(xiàng)

    windows服務(wù)器管理的安全注意事項(xiàng)

    剛好看到這篇關(guān)于服務(wù)器安全設(shè)置的文章,對(duì)于windows來(lái)說(shuō)安全設(shè)置需要注意很多地方
    2019-11-11
  • LSI SAS1068 RAID 陣列卡圖文配置教程

    LSI SAS1068 RAID 陣列卡圖文配置教程

    這篇文章主要介紹了LSI SAS1068 RAID 陣列卡圖文配置教程,需要的朋友可以參考下
    2016-06-06
  • 樹(shù)莓派 msmtp和mutt 的安裝和配置教程

    樹(shù)莓派 msmtp和mutt 的安裝和配置教程

    這篇文章主要介紹了樹(shù)莓派 msmtp和mutt 的安裝和配置教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 圖解SVN服務(wù)器搭建和使用(一)

    圖解SVN服務(wù)器搭建和使用(一)

    SVN全稱SubVersion,svn是一個(gè)優(yōu)秀的版本控制工具,是一個(gè)自由/開(kāi)源的版本控制系統(tǒng),一組文件存放在中心版本庫(kù),記錄每一次文件和目錄的修改。最近有很多網(wǎng)友問(wèn)我svn服務(wù)怎么搭建和使用?下面小編抽個(gè)時(shí)間把這個(gè)問(wèn)題給大家解決了,有需要的朋友可以參考下。
    2015-09-09

最新評(píng)論