您的位置:首页 > 编程语言 > ASP

asp.net中使用UrlRewritingNet重写URL

2011-04-16 09:12 495 查看
1、到官方网站下载dll:

http://www.urlrewriting.net/159/en/downloads.html

在这个页面还可以找到源文件和官方提供的例子,有兴趣的可以下下来看一下。

2、引用到网站中。

3、修改web.config

(1)添加下边这段到configSections节点中:

<

section

name

=

"urlrewritingnet"

requirePermission

=

"false"

type

=

"UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"

/>


(2)添加下边这段到configuration节点中:

<

urlrewritingnet

configSource

=

"config/Rewrite.config"

/>


在这里,我专门为重写规则定义了一个配置文件,放在根目录的config文件夹下,这个位置和文件名可以修改成自己的,也可以直接把重写规则添加到web.config中,可以查看官方提供的例子。

(3)在Rewrite.config中添加规则,这里我举几个例子:

xml

version

=

"1.0"

encoding

=

"utf-8"

?>

[/code]

<

[code]urlrewritingnet

rewriteOnlyVirtualUrls

=

"true"

contextItemsPrefix

=

"QueryString"

defaultPage

=

"Default.aspx"

defaultProvider

=

"RegEx"

xmlns

=

"http://www.urlrewriting.net/schemas/config/2006/07"

>


<

rewrites

>


<

add

name

=

"News"

virtualUrl

=

"^~/News(//)?$"

rewriteUrlParameter

=

"ExcludeFromClientQueryString"

destinationUrl

=

"~/WebRoot/List.aspx"

ignoreCase

=

"true"

/>


<

add

name

=

"NewsList"

virtualUrl

=

"^~/NewsList_(/d+).aspx"

rewriteUrlParameter

=

"ExcludeFromClientQueryString"

destinationUrl

=

"~/WebRoot/List.aspx?simplename=News&page=$1"

ignoreCase

=

"true"

/>


<

add

name

=

"NewsInfo"

virtualUrl

=

"^~/View_(/d+).aspx"

rewriteUrlParameter

=

"ExcludeFromClientQueryString"

destinationUrl

=

"~/WebRoot/Single.aspx?id=$1"

ignoreCase

=

"true"

/>


rewrites

>

[/code]

urlrewritingnet

[code]>

[/code]

<
appSettings
/>

<
connectionStrings
/>

<
system.web
>

<
httpModules
>

<
add
name
="UrlRewriteModule"

type
="UrlRewritingNet.Web.UrlRewriteModule,
UrlRewritingNet.UrlRewriter"

/>

</
httpModules
>

<!--

设置 compilation debug="true" 将调试符号插入

已编译的页面中。但由于这会

影响性能,因此只在开发过程中将此值

设置为 true。

-->

<
compilation
debug
="true"

/>

<!--

通过 <authentication> 节可以配置 ASP.NET
使用的

安全身份验证模式,

以标识传入的用户。

-->

<
authentication
mode
="Windows"

/>

<!--

如果在执行请求的过程中出现未处理的错误,

则通过
<customErrors> 节可以配置相应的处理步骤。具体说来,

开发人员通过该节可以配置

要显示的 html 错误页

以代替错误堆栈跟踪。

<customErrors mode="RemoteOnly"
defaultRedirect="GenericErrorPage.htm">

<error
statusCode="403" redirect="NoAccess.htm" />

<error
statusCode="404" redirect="FileNotFound.htm" />

</customErrors>

-->

</
system.web
>

在里把对News目录的访问,重写到WebRoot/List.aspx。

对单篇文章View的访问,重写到WebRoot/Single.aspx。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: