`
yanyanquan
  • 浏览: 453259 次
  • 性别: Icon_minigender_1
  • 来自: 江门
社区版块
存档分类
最新评论

UrlRewritingNet.UrlRewrite 中文文档

阅读更多

Installation of UrlRewritingNet.UrlRewrite
安装UrlRewritingNet.UrlRewrite

System requirements
系统要求
UrlRewritingNet.UrlRewrite is running on each Web server which is running ASP.NET 2.0.
UrlRewritingNet.UrlRewrite 可以在任何一个运行asp.Net 2.0的web服务器上运行。
Tested Web server with UrlRewritingNet.UrlRewrite:
被UrlRewritingNet.UrlRewrite测试过web服务器:
   IIS 5.0
   IIS 5.1
   IIS 6.0
   Visual Studio 2005 WebDev Server
   IIS 5.0
   IIS 5.1
   IIS 6.0
   Visual Studio 2005 WebDev Server
We didn't test it with Mono.
Installation
To install UrlRewritingNet.UrlRewrite you have to follow these easy steps:

1. Installation of the Assembly ".dll"
2. Installation of the configuration schema
3. Setting up the configuration settings area in the Web.config
4. Embedding UrlRewritingNet as Http Module
安装
为了安装UrlRewritingNet.UrlRewrite,你不得不按照下面几个简单的步骤:
1.“.dll”组件的安装。
2.配置模式的安装。
3.在web.config中设置配置。
4.将UrlRewritingNet作为Http Module嵌入。
Installation of the Assembly
Just copy UrlRewritingNet.UrlRewriter.dll in your web applications /bin folder.
安装组件
只需要拷贝UrlRewritingNet.UrlRewriter.dll在你的web应用程序/Bin目录。
Installation of the configuration schema
To get IntelliSense support just copy the file urlwritingnet.xsd in you web application (wherever you want). If you web application is part of a solution, you can also put the file anywhere in the solution.
配置模式的安装
为了得到智能提示的支持,只需要拷贝urlwritingnet.xsd文件到你的web应用程序中(无论什么位置)。如果你的web应用程序是解决方案的一部分,你也可以把这个文件放在解决方案中的任何一个地方。
Setting up the configuration settings area in the Web.config
To get the configuration settings from the web.config this area has to be advertised. Just replace the <configSections> if exists.
在web.config中设置配置
为了从web.config中得到配置设置,这个区域必须被告知。如果<configSections>存在则替换它。
<configuration>
<configSections>
    <section name="urlrewritingnet"  
             restartOnExternalChanges="true"
             requirePermission ="false"
             type="UrlRewritingNet.Configuration.UrlRewriteSection,
                   UrlRewritingNet.UrlRewriter" />
</configSections>
</configuration>
If the area is advertised, just create it.
如果这个区域被占用,就创建它。
<urlrewritingnet
      xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
</urlrewritingnet>
This section has to be placed in <configuration /> but after <configSections />. Do not place this in <appSettings /> or <system.web>! Fo example se the sample web application. To get IntelliSense support you have to add "xmlns" attribute.
这部分不需安置在<configuration />的内部<configSections />之后。不要安置在<appSettings />或者<system.web>中!例如示例web应用程序.为了得到智能提示支持,你不得不添加"xmlns"属性。
Embedding UrlRewritingNet as HttpModul
To handle all incoming requests with UrlRewritingNet you have to register the component as Http Module in the <system.web /> section in Web.config.
将UrlRewritingNet作为Http Module嵌入
用UrlRewritingNet处理所有的链入请求,你不得不在<system.web />片段中将组件注册成为Http Module。

<system.web>
    <httpModules>
     <add name="UrlRewriteModule"
         type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </httpModules>   
</system.web>
Now UrlRewritingNet configuration is complete.
现在UrlRewritingNet配置完毕。
Necessary changes by upgrading from 1.1 to 2.0
By upgrading from 1.1 to 2.0 you have to change a little bit on your existing configuration.
1. All rules need a unique name.
2. Don't use the attribute "compileRegEx" anymore.
3. Refresh configuration schema
If one of these requirements is not given, the application throws exceptions.
从1.1升级到2.0需要做的一些改变
从1.1升级到2.0你不得不改变一些已经存在的配置。
1.所有的规则都需要独一无二的name.
2.不要再使用"compileRegEx" 属性。
3.刷新配置模式。
如果其中一条要求没有满足,则程序会抛出异常。
Give your rules unique names
All existing (and of course new) rules have to get unique names. This is necessary to change them on runtime.
Old rule entry:
      <add virtualUrl="^~/girls/(.*)/(.*).aspx"            
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/Default.aspx?name=$1&amp;show=$2"
           ignoreCase="true" />
New rule entry:
      <add name="Gallery"  
           virtualUrl="^~/girls/(.*)/(.*).aspx"            
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/Default.aspx?name=$1&amp;show=$2"
           ignoreCase="true" />
给你的规则添加独一无二的名字。
所有存在的规则都需要一个独一无二的名字。这个些改变是让他们运行环境所必要的。
旧规则:
      <add virtualUrl="^~/girls/(.*)/(.*).aspx"            
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/Default.aspx?name=$1&amp;show=$2"
           ignoreCase="true" />
新规则:
      <add name="Gallery"  
           virtualUrl="^~/girls/(.*)/(.*).aspx"            
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/Default.aspx?name=$1&amp;show=$2"
           ignoreCase="true" />
Remove "compileRegEx" attribute
The attribute "compileRegEx" has been obsolete. So please remove it from all entries and the <urlrewritingnet /> configuration area.
移除"compileRegEx"属性
"compileRegEx"属性已经废除。所以请将它从所有的<urlrewritingnet />配置区域内移除。
Refresh configuration schema
For getting IntelliSense support you have to update the namespace to the current version.
<urlrewritingnet
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
And of course you have to replace the existing urlrewritingnet.xsd with the new one.
刷新配置模式
为了得到智能提示,你不得不更新namespace(命名空间)而得到正确的版本。
<urlrewritingnet
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
并且你当然可以用一个新的urlrewritingnet.xsd替换已经存在的这个文件。
Configuration
von UrlRewritingNet.UrlRewrite is configured in the area in Web.config which you set up during the
installation (see page 8).
Here a little sample:
<urlrewritingnet
    rewriteOnlyVirtualUrls="true"   
    contextItemsPrefix="QueryString"
    defaultPage = "default.aspx"
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <providers>
      <add name="MyGreatProvider" type="MyApp.Web.MyGreatProvider,
MyGreatProvider.dll"/>
    </providers>
    <rewrites>
      <add name="Rule1" virtualUrl="^~/(.*)/Detail(.*).aspx"            
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/Default.aspx?language=$1&amp;id=$2"
           ignoreCase="true" />
      <add name="Rule2"  
           provider="MyGreatProvider"
           myattribute="/foo/bar/dhin.aspx"
           rewriteUrlParameter="ExcludeFromClientQueryString"
           rewrite="Domain"
           ignoreCase="true" />
    </rewrites>
</urlrewritingnet>
This configuration can become very comprehensive, so you can swap it out into an external config file.
Please use the configSource attribute for that:
<urlrewritingnet configSource="ExternalRewrite.config" />
In ExternalRewrite.config you have to put the complete configuration area.
配置
UrlRewritingNet.UrlRewrite家族已经被我们配置在上一节所说的web.config文件中。
这儿有一个简单的例子:
<urlrewritingnet
    rewriteOnlyVirtualUrls="true"   
    contextItemsPrefix="QueryString"
    defaultPage = "default.aspx"
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <providers>
      <add name="MyGreatProvider" type="MyApp.Web.MyGreatProvider,
MyGreatProvider.dll"/>
    </providers>
    <rewrites>
      <add name="Rule1" virtualUrl="^~/(.*)/Detail(.*).aspx"            
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/Default.aspx?language=$1&amp;id=$2"
           ignoreCase="true" />
      <add name="Rule2"  
           provider="MyGreatProvider"
           myattribute="/foo/bar/dhin.aspx"
           rewriteUrlParameter="ExcludeFromClientQueryString"
           rewrite="Domain"
           ignoreCase="true" />
    </rewrites>
</urlrewritingnet>
这个配置文件已经非常全面了。所以,你可以将这段安置在你的扩展config文件中。
请使用configSource(配置源)属性:
<urlrewritingnet configSource="ExternalRewrite.config" />
ExternalRewrite.config你不得不使用全部的配置。
Attributes for <urlrewritingnet />

rewriteOnlyVirtualUrls
                        true, false (Standard: true)
                        Prevents rewriting for real existing files on the server if true.
contextItemsPrefix
                        String
                        If the Query String parameters should putted down in                                                       HttpContext.Current.Items[], you can define a prefix, which will be                                     inserted before the parameters name with a point after.
defaultProvider
                        ProviderName (Standard: RegEx)
                        Name of the default Rewrite Provider used if no other is assigned.
defaultPage
                        Dateiname
                        Name of the default page which is used on access without file extension                             (see page 6, working without file extension).
<urlrewritingnet /> 属性
rewriteOnlyVirtualUrls
                        true, false (Standard: true)
                        如果为真则防止重写真实存在的文件。
contextItemsPrefix
                        String
                        假设这个请求字符参数被写入在
HttpContext.Current.Items[]中,                                            你可以定义一个前缀,以"."结尾插入在这个参数的前面
defaultProvider
                        ProviderName (默认: RegEx)
                        如果没有其他的指派,这个名字将用默认的重写驱动。
defaultPage
                        Dateiname
                        用于存取没有扩展名的默认页面名称(见6页, 无扩展名工作).
The <providers /> listing
Here can the custom providers be added. Fore more information see "Page 19" Embedding the provider in the web.config" and the documentation of the specific provider.
<providers />列表
自定义的providers(驱动)添加。更多信息见19页"在web.config文件中嵌入驱动"和特别provider(驱动)文档。
The <rewrites /> listing
Here can the rewrite rules be added. The rules are processed from up to down, the first matching rule is used for the rewriting and the process is being ready (no more rule will be processed).
To add a new rule just type a new <add /> element, IntelliSense will present you the available attributes which are listed below.
name
                        Name of the rule
                        A free selectable name of the rule which has to be unique. With this name                         (ID) you can
                        do some magic with this rule programmatically, too (see page 16)
provider
                        ProviderName
                        Name of the used provider. If no one is selected, the default provider will                             be used.
redirect
                        None, Application, Domain (Standard: None)
                        To make a redirect instead of a rewrite.
                        None    Normal rewrite
                        Application   Redirect within your web application
                        Domain Redirect to another domain which has to be part of                                             the destinationUrl
redirectMode
                        Permanent, Temporary (Standard: Temporary)
                        Here you can select of which type your redirect is permanent (HTTP status                         code 301) or temporary (HTTP status code 302). If you want to transfer a                         website from one
rewrite
                        Application, Domain (Standard: Application)
                        Defines whether the domain has to be included in the process or not.
rewriteUrlParameter
                        ExcludeFromClientQueryString,
                        StoreInContextItems ,
                        IncludeQueryStringForRewrite
                        (Standard: ExcludeFromClientQueryString)

                        ExluceFromClientQueryString
                        In Request.QueryString[] all parameters are available. In                                                     Page.ClientQueryString are only
the parameters added, which are visible in                         the browsers address field, so a postback is possible. Parameters added in                         destinationUrl are not added in Page.ClientQueryString.
                       
                        StoreInContextItems
                        All parameters listed in the Url field of the browser and the parameters from                         the rewrite are added in HttpContext.Current.Items[] too, prefixed by a                             string defined in contextItemsPrefix.

                        IncludeQueryStringForRewrite    
                        Include the full Query String (the parameters in the browsers address field)                         in the rewrite process, so that they can be handled by the engine.

As a developer of a rewrite provider you should look to develop your provider meeting the standard behavior, but of course it can vary.
<rewrites />列表
在这里添加重写规则。规则被从上到下的处理,第一条匹配的规则将被处理并且加入处理队列(其他规则将不被处理)。
加入一条新规则只需要添加<add />元素标签。智能提示将为你呈现下面列出的有效属性。
name
                        规则的名称
                        一个可以自由选择的但是必须唯一的名字,使用这个名字(ID)你也可以通过具有编程                        性的规则做一些变化(见16页)
provider
                        ProviderName(驱动名称)
                        Name of the used provider. If no one is selected, the default provider will                             be used.
redirect
                        None, Application, Domain (Standard: None)
                        设置一个跳转代替重写。
                        None    普通重写
                       Application   在你的web应用程序中跳转。
                        Domain 跳转到另外一个必须包含目标Url的域名上。
redirectMode
                        Permanent(永久), Temporary(暂时) (默认: Temporary)
                        这里,你可以选择你的跳转类型为永久(HTTP 状态代码301)或者暂时(HTTP状态代码302)。如果你想从另外一个网站迁移。
rewrite
                        Application(应用程序), Domain(域名) (默认: Application)
                        定义域名是否必须包含在进程中。
rewriteUrlParameter
                        ExcludeFromClientQueryString,
                        StoreInContextItems ,
                        IncludeQueryStringForRewrite
                        (默认: ExcludeFromClientQueryString)

                        ExluceFromClientQueryString
                        In Request.QueryString[] 所有的参数都是有效的,只有在浏览器地址栏看到的                             Page.ClientQueryString 参数被添加的时候
, PostBack 才会有效。参数加在                                dstinationUrl 而不是添加在 Page.ClientQueryString.
                       
                        StoreInContextItems
                        所有的参数被罗列在浏览器的url和重写规则HttpContext.Current.Items[]参数中,                        这些被预定义在contextItemPrefix字符串中。

                        IncludeQueryStringForRewrite    
                        在重写队列中包含所有的查询字符串(在浏览器Url地址栏里的参数)所以你可以使用引                        擎(UrlRewritingNet.UrlRewrite)处理它们。
作为一个重写驱动的开发者,你应该使得你开发的驱动能够符合标准的行为,当然,也可以有不同。

RegEx Rewrite Attributes
Our standard provider has the following attributes.
virtualUrl
                        regular expression
                        A regular expression which is used for replacing the current Url with                                     destinationUrl.
destinationUrl
                        regular expression replacement term
                        A regular expression term describing the target page (physical file).
regexOptions
                        Multiline, ExplicitCapture, Singleline, IgnorePatternWhitespace, RightToLeft,
                        ECMAScript, CultureInvariant
                        For an optimal control over the regular expressions you can add additional                         to ignoreCase here some RegexOptions. But this is only necessary in special                         cases. For more information see the Microsoft MSDN documentation.
属性:正则重写
我们标准的驱动支持下列属性:
virtualUrl

                        正则表达式
                        一条用于替换真实Url的最终Url正则表达式。
destinationUrl

                        正则表达式替换的区域限制
                        一条正则表达式限制描述的目标页面(物理文件)
regexOptions
                        多行模式,明确的抓取,单行,忽略空格,从右到左,ECMAScript,CultureInvariant
                        为了得到最佳的通过正则控制的设置,你也可以添加附加的忽略正则选项。但是这只适                        合特别需要的地方。更多的信息见MSND文档。

分享到:
评论

相关推荐

    UrlRewritingNet.UrlRewrite 中文文档.

    UrlRewritingNet.UrlRewrite 中文文档 UrlRewritingNet.UrlRewrite 是一个可以嵌入在 ASP.NET 2.0 应用中的模块,用于重写 Url(互联网地址),从而展示给用户另一个网址。使用 UrlRewritingNet.UrlRewrite 只需要...

    UrlRewritingNet.UrlRewriter.dll 伪静态URL重写

    UrlRewritingNet.UrlRewriter.dll是一个强大的工具,它可以帮助开发者实现这一目标,通过URL重写技术将动态URL转化为静态或伪静态形式。本文将深入探讨这个库的功能、配置以及如何利用它来提升网站性能。 **一、...

    UrlRewritingNet.UrlRewriter.dll

    UrlRewritingNet.UrlRewriter.dll

    UrlRewritingNet(中文)

    提供的 **UrlRewritingNet.UrlRewrite 中文文档.doc** 文件很可能是关于这个库的中文使用指南,详细解释了如何配置和使用UrlRewritingNet的各种功能。这包括了安装步骤、基本配置示例、规则创建、条件和动作的设定,...

    UrlRewritingNet控件的简单使用

    UrlRewritingNet是一个可以在ASP.NET2.0里使用的实现url重写的一个组件,并且是开源的,使用这个控件,大家通过定义里面的规则就可以实现url重写。利用它开发人员可以很容易的实现Url重写的功能,提高开发效率. ...

    url重写+配置文档

    &lt;action type="Rewrite" url="article.aspx?id={C:1}" appendQueryString="false" /&gt; ``` 这个例子中,`&lt;rewriteMap&gt;`定义了一个映射,将原URL与新的URL格式对应。`&lt;rule&gt;`部分则定义了匹配和重写的规则,当URL...

    UrlRewritingNet(URL重写).rar

    《UrlRewritingNet:深入理解URL重写技术》 URL重写是Web开发中的一个重要概念,它涉及到网站的可访问性、SEO优化以及系统架构等多个方面。UrlRewritingNet是一款.NET平台下的开源URL重写库,它使得在ASP.NET环境中...

    UrlRewriter用法及IIS7下的错误解决

    要安装和配置UrlRewrite,你需要在项目中引用相关的NuGet包,如`UrlRewritingNet.UrlRewriter`,然后在Web.config文件中添加相应的配置段。以下是一个基本的配置示例: ```xml &lt;system.webServer&gt; &lt;rewrite&gt; ...

    URL重写及其需要的DLL

    这个文档很可能包含了关于URL重写的详细指南和最佳实践,可能涵盖了如何解决常见的问题,如何定义复杂的重写规则,以及如何调试和测试重写规则等内容。 综上所述,URL重写是提升网站质量和性能的重要技术,而`...

    FreeTextBox文件下载

    而UrlRewritingNet.UrlRewriter则是一个URL重写库,它允许开发者将不友好的URL(如包含参数的动态URL)转换为更加美观、可读的静态URL形式。URL重写在SEO(搜索引擎优化)中扮演着重要角色,因为它可以使网站的链接...

    UrlRewritingNet

    ASP.NET 2.0 中实现URL重写有很多方法,如:Global.asax中捕获用Application_BeginRequest请求,再用HttpContext类的Rewrite方法或Server.Transfer方法实现重写;自己实现IHttpModule实现重写;还有的利用服务器的...

    网页静态化 URL重写代码实例

    UrlRewrite.dll是由IISRewrite团队开发的,它提供了强大的URL重写规则配置,使得开发者能够轻松地在ASP.NET应用中实现URL重写。 下面是一个使用UrlRewriter.dll进行URL重写的简单示例: ```xml &lt;system.web...

    URL类库重写URL

    `&lt;action type="Rewrite" url="{R:1}" /&gt;`则指定了重写后的URL,`{R:1}`表示捕获的正则表达式第一组括号内的内容。 4. **高级规则**:除了基本的URL替换,URLRewriter还支持更复杂的规则,如条件重写、通配符、正向...

    URL重写(URLRewriter.dll)

    - `&lt;action&gt;`元素定义了如何处理匹配到的URL,`type="Rewrite"`表示进行重写,`url`属性是重写后的URL,`appendQueryString="false"`表示不保留原始查询字符串。 4. **高级用法**: - 可以使用正则表达式来匹配更...

    URLRewriter Demo

    在.NET环境中,通常使用`URLRewrite`库,如`IIS URL Rewrite Module`或开源项目`UrlRewritingNet`来实现URL重写。这个“URLRewriter Demo”可能就是基于类似的库创建的。 **4. 实现步骤** - **配置规则**:在Web....

    关于虚拟目录继承根Web.Config的问题解决办法

    type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/&gt; &lt;/system.web&gt; ``` 这段代码的关键点在于: 1. **路径指定**:`path="."`表示当前目录,即该配置应用于当前虚拟目录及其子目录...

    UrlRewritingNet_2.0

    至于压缩包内的文件 "UrlRewritingNet_20",这很可能是该库的安装文件或源代码包,包含了 `UrlRewritingNet` 库的所有组件,包括DLL文件、配置示例、文档等,供开发者在VS2008项目中引用和配置使用。 在使用 `...

    aspnetpager和urlrewritingnet多参数分页(带存储过程)

    aspnetpager和urlrewritingnet多参数分页(带存储过程),链接博文地址:http://blog.csdn.net/shellwin/archive/2010/07/19/5746450.aspx

    水印图片和URL重写

    在Asp.Net中,可以使用UrlRewritingNet库或者IIS的URL重写模块来实现。例如,要将`.aspx`后缀替换为`.jsp`或`.php`,可以在Web.config配置文件中定义规则。下面是一个使用UrlRewrite模块的例子: ```xml &lt;system....

Global site tag (gtag.js) - Google Analytics