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 ...
随机推荐
- 插件框架(Plugin Framework)
HOW TO MAKE PLUGIN FRAMEWORK 插件系统构建 Dissect Eclipse Plugin Framework
- 转!mysql 查询 distinct多个字段 注意!!
前几天做项目时,mysql写了个sql, distinct id,col1,col2,... 结果出来了多条同个ID的记录,百度了下..... 下面先来看看例子: table id name ...
- node.js基础 1之基本概念常识
node.js 好牛逼的样子哦 很火,很腻害~~~~ 有关node.js的版本常识: 一般用最新的稳定版本,非稳定版本用于测试,其中包括api的不稳定等. 起一个web服务器: ndoejs可以自定义 ...
- office openxml学习(一)
以前用过,aspose.dll处理word ,excel,之后发现 npoi,使用了一段时间,总觉得是第三方,不明白底层的实现,直到最近发现了office openxml ,其实这个技术,很久以前就有 ...
- 并发编程 04——闭锁CountDownLatch 与 栅栏CyclicBarrier
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...
- Sprint.Net 笔记
有生以来写的第一份博客, 还真不会写, 请高手们指导指导. 1.引入 Spring.Core.dll 和 Common.Logging.dll 两个文 2. 在UI层的Web.conf 的 <C ...
- css小知识点
1.div如何让背景是透明的 如:<div class="ha"></div> <style> .ha{ background:transpar ...
- jquery实现百度类似搜索提示功能(AJAX应用)
有时候觉得百度那个输入内容就有提示的工具很神奇,它究竟是怎么做到的呢?以前在一个进销存系统中也做过这么个功能,但是远远不及百度的功能强大,百度可以输入首字母,关键字拼音,或关键字都可以匹配,有时在想, ...
- css关系选择器
1.包含选择符(E F) 选择所有被E元素包含的F元素,中间用空格隔开示例:<!DOCTYPE html><html> <head> <meta charse ...
- hadoop运行原理之Job运行(一) JobTracker启动及初始化
这部分的计划是这样的,首先解释JobTracker的启动过程和作业从JobClient提交到JobTracker上:然后分析TaskTracker和heartbeat:最后将整个流程debug一遍来加 ...