-
Notifications
You must be signed in to change notification settings - Fork 8
/
URLWriter.config
93 lines (69 loc) · 3.46 KB
/
URLWriter.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<!--第一步注册url重写模块
此节点需要放在最上面,如同声明变量一样,申明了才能使用此变量
name是名称,type 是我们引用的dll文件中的一个类
-->
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
<!--第二步添加重写规则-->
<RewriterConfig>
<!--先制定全部重写规则内容-->
<Rules>
<!--制定每个单独页面的规则,一组可以写一个页面-->
<RewriterRule>
<!--重写后的地址,我们在地址栏访问此静态页面,会去找下面的页面-->
<LookFor>~/index.html</LookFor>
<!--原始请求地址-->
<SendTo>~/WebForm2.aspx</SendTo>
</RewriterRule>
<!--传递参数的-->
<RewriterRule>
<!--使用正则来写,(\d{1,4}) 表示1到4位任何数字 0-9999 -->
<LookFor>~/TestParams_(\d{1,4}).html</LookFor>
<!--参数值用$X来做占位符-->
<SendTo>~/WebForm3.aspx?id=$1</SendTo>
</RewriterRule>
<!--传递参数的-->
<RewriterRule>
<!--使用正则来写,这里申明了怎么样静态格式,下面就需要对应的写-->
<LookFor>~/TestParams_(\d{1,4})/(\d{1,9})</LookFor>
<!--参数值用$X来做占位符,多个参数用 & 链接-->
<SendTo>~/WebForm4.aspx?id=$1&data=$2</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<compilation debug="true" targetFramework="4.5.2">
<!--第四部url重写防止真实的页面也被重写如果网站中真实存在页面,需要添加编译指令不编译真实的html文件-->
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>
<httpRuntime targetFramework="4.5.2"/>
</system.web>
<system.webServer>
<!--第三部url重写 将用户的请求页面交给相应的处理程序,注意请求的后缀名格式,因为版本原因需要在此节点里面配置-->
<handlers>
<!--配合上面没有后缀名的规则-->
<add verb="*" name="URL" path="*" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<!--配合上面的*.html页面-->
<add verb="*" name="URLW" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</handlers>
</system.webServer>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
</configuration>