UrlRewrite伪静态
1.首先添加URLRewriter.dll、ActionlessForm.dll加到bin文件夹中,添加引用
注:URLRewriter.dll实现伪静态 ActionlessForm.dll是分页时起作用,如果不使用该控件仍会跳转到aspx页面
ActionlessForm.dll使用方法:在每个aspx页面添加<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
然后,将 <form runat="server">****</form>替换为: <skm:Form id="Form1" method="post" runat="server">*****</skm:Form>
2.按如下(红色部分)操作修改配置文件
<?xml version="1.0"?>
<configuration>
<configSections>
<!--URLRewriter_1 URL开始-->
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter"/>
<!--URLRewriter_1 URL结束-->
</configSections>
<appSettings/>
<connectionStrings/>
<!--URLRewriter_2 URL重写开始-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(\w*)_(\w*).html</LookFor>
<SendTo><![CDATA[~/WebForm1.aspx?ID=$1&Page=$2]]></SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/index.html</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/(\w*).html</LookFor>
<SendTo>~/WebForm1.aspx?ID=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<!--URLRewriter_2 URL重写结束-->
<system.web>
<compilation debug="true" targetFramework="4.0">
</compilation>
<authentication mode="Windows"/>
<httpModules>
<!--URLRewriter_3开始-->
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
<!--URLRewriter_3结束-->
</httpModules>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
<!--
在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer
节。对早期版本的 IIS 来说则不需要此节。
-->
<system.webServer>
<handlers>
<remove name="html"/>
<add name="html" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32"/>
</handlers>
</system.webServer>
</configuration>
3.程序中转向时调用<LookFor></LookFor>节点中配置的URL,注意参数
4.在iis中添加LookFor 节点配置的后缀
按照*aspx的配置添加映射(此例添加html映射)
付代码:
Default.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
RedirectUrl();
}
protected void RedirectUrl()
{
Response.Redirect("sean_chang.html");
}
WebForm1.aspx.cs
if (!IsPostBack)
{
Response.Write("实际调用WebForm1.aspx页面,参数ID="+ Request.QueryString["ID"]);
Response.Write("<script type='text/javascript'>alert('参数page=" + Request.QueryString["Page"] + "')</script>");
}
Default页面跳转到sean_chang.html页面 实际上访问的是WebForm1.aspx页面 ,并且根据webconfig配置可知
实际访问的url路径为WebForm1.aspx?ID=sean&Page=chang 从而实现伪静态………………………………………………
页面显示:
UrlRewrite伪静态的更多相关文章
- seo优化urlrewrite伪静态技术
1.下载urlrewrite-3.2.0.jar 2.在WEB-INF下增加urlrewrite.xml <?xml version="1.0" encoding=" ...
- urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]
首先 加载 urlrewrite包 配置web.xml [list] [*] <error-page> [*] <error-code>404</ ...
- JAVA使用urlrewrite实现伪静态化
什么是伪静态? 伪静态字面理解就是假的静态,说的官方点就是“地址重写,用户得到的全部地址都是经过处理后的URL地址”. 为什么要伪静态呢? 提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面 ...
- 使用idea15搭建基于maven的springmvc-mybatis框架
我这边使用的是intellij idea15 1.new maven webapp project 2.添加groupId和artifactId 3.选择maven路径和maven仓库路径 最后确定之 ...
- php Internal Server Error
Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...
- .NET运用AJAX 总结及其实例
1.AJAX简介 (1.没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的 ...
- atitit.404错误的排查流程总结vOa6
atitit.404错误的排查流程总结vOa6 1. 场景 1 1.1. 子应用猛个腊擦不能使用 404 兰.. 1 2. 服务器配置问题 2 2.1. 登录服务器管理子应用,查看应用是否启动okk ...
- atitit.404错误的排查流程总结
atitit.404错误的排查流程总结 #----------jsp head errorPage="" del zeu ok le. #------resin 服务器配置问题 ...
- 使用intellij idea搭建MAVEN+springmvc+mybatis框架
原文:使用intellij idea搭建MAVEN+springmvc+mybatis框架 1.首先使用idea创建一个maven项目 2.接着配置pom.xml,以下为我的配置 <projec ...
随机推荐
- (淘宝无限适配)手机端rem布局详解(转载非原创)
从网易与淘宝的font-size思考前端设计稿与工作流 本文结合自己对网易与淘宝移动端首页html元素上的font-size这个属性的思考与学习,讨论html5设计稿尺寸以及前端与设计之间协作流程的问 ...
- python_way ,day25 wmi
pip install wmi 如果不能安装,就使用 安装 python3 -m pip install wmi 再安装pywin32这个包 使用: import platform import w ...
- XAF学习资源整合大全
近期有很多XAF初学者与我联系,我多数时间在重复很多入门问题,所以决定整理一篇XAF资源列表,方便大家查找资料,也请知晓其他资源的人留言或与我联系,我将新资源追加到本篇文章中,方便更多人. 一.本博客 ...
- iOS MD5加密字符串
参考:http://stackoverflow.com/questions/1524604/md5-algorithm-in-objective-c 在线测试MD5:http://www.cmd5.c ...
- iOS 二维数组排序小算法
NSArray *tmp = @[@[@(1), @(2), @(3), @(4), @(5)], @[@(6), @(7), @(8), @(9), @(10 ...
- redis 库相关命令
切换数据库: select 1 查看数据库大小:dbsize 清空数据库: flushdb
- java判断时间是否是今天
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd"); Date d1=format.parse(FHavetime ...
- js实现input输入框只能输入数字的功能(完美测试通过)
<input type="text" style="ime-mode:disabled;" onpaste="return false;&quo ...
- iframe自适应方法
ifram高度自适应,两种方法 方法一:父页面获取子页面高度,改变父页面高度以下代码加到父页面 <script language="javascript"> //获取i ...
- qml 封装技巧-利用数据来进行适配
Text属于用的频率比较高而且需要定义的地方又比较多的地方,看一下如下的把Text封装成Label进行使用. 使用的例子: Label { id: titleLabel anchors { left: ...