[转载]ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置
ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置 最近在写一个CMS的内容管理系统,需要用到一个伪静态方面的方法,在网上找了一下这方面的资料,现将这方面的资源记录一下。 本机环境: Window server 2008 R2 Enterprise 操作系统+SQL Server 2008 R2 Enterprise企业版数据+Visual Studio 2010 SP1 普及一下伪静态方面的知识, 1、伪静态简单一点儿来说,其实就是重写了URL,最大的好处便于搜索引擎抓取,因为搜索引擎喜欢静态网站,类似于.html或.htm后缀的网页。 2、使用静态文件会占用大量的硬盘空间,并且会加重磁盘IO的负核,使用伪静态,一来可以节省硬盘空间,减少一部分的磁盘IO的负核,二来,在网站的进化过程中可能会有一些业务上的调整,也便于以后网站升级进化。 3、伪静态缺点,则会加重CPU的负担。 好了,我只了解这一部分。为了SEO还是使用部分伪静态吧。 使用的两个DLL URLRewriter.dll
ActionlessForm.dll 下载地址:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi 该安装包中包含了该DLL的源代码,喜欢研究的朋友可以直接研究代码。 同时,该安装包还包含一个示例,木有研究,只是打开看了看web.config配置信息,现将配置伪静态部分贴到下面。 使用以下配置,我发现当页面中一个APS.NET的button按钮提交不了。介个目前还木有研究,需要继续深入的研究。
<?xml version="1.0" encoding="utf-8"?> <!--
有关如何配置 ASP.NET 应用程序的详细消息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--> <configuration>
<configSections>
<section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<!--一个参数-->
<LookFor>~/Articles/articles_(.[\d]*)\.html</LookFor>
<SendTo>~/Articles/News.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<!--传两个参数的-->
<LookFor>~/Articles/articles_(.[\d]*)0(.[\w]*).html</LookFor>
<!--(.[\d]*)(.[\w]*).html 或者 ss_,(.[0-9]*),(.[0-9]*)\.html-->
<SendTo><![CDATA[~/Articles/News.aspx?id=$1&sid=$2]]></SendTo>
</RewriterRule>
<RewriterRule>
<!--三个参数-->
<LookFor>~/Articles/articles_(.[\d]*)0(.[\w]*)0(.[\w]*).html</LookFor>
<SendTo><![CDATA[~/Articles/News.aspx?id=$1&sid=$2&n_id=$3]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<appSettings>
<add key="ApplicationName" value="测试程序"></add>
<!--是否起用错误日志-->
<add key="ErrorLog" value="0"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</modules>
</system.webServer>
</configuration>
<system.webServer>
这一部分的配置,其实是针对IIS 7.5配置的,在网上找的一部分代码是这样配置的,但是偶没有配置出来。直接使用以上代码,就不需要如下配置了。
--------------- --------------- --------------- --------------- --------------- --------------- ---------------
配置IIS7.5你的网站-->IIS中处理程序映射-->
添加脚本映射(路径:*.html 可执行文件%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 名称:任意,比如Hml )
添加通配符脚本映射(路径:* 可执行文件:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 名称:任意,比如All)
托管处理程序映射(路径:* 可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)-------->
IIS中 模块-->添加---->(名称:任意 如All 类型:URLRewriter.ModuleRewriter 把 仅针对向asp.net 应用程序或托管处理程序发出请求调用 勾上 ok )
-->ok
--------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- ---------------
碰到的错误信息提示:
.NET的应用程序池为经典时为报以下异常。
HTTP 错误 500.21 - Internal Server Error
处理程序“SimpleHandlerFactory-ISAPI-4.0_32bit”在其模块列表中有一个错误模块“IsapiModule”
ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置
[转载]ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置的更多相关文章
- 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。
客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值. 无论是什么的html控件,只要加上了runat="server" ...
- Windows-Server-2008、IIS7.0环境下配置伪静态化
在Windows-Server-2008.IIS7.0环境下配置伪静态化 首先,是IIS7.0的配置,由于Windows Server 2008操作系统默认的IIS版本为 ...
- asp.net core 2.0中的配置(1)---Configuration
配置就是一个装配数据字典的过程,一个字典也就是一个键值对,所以从配置就是键值对. 在asp.net core中关于配置是由四个基本的类型来支撑的,是①IConfigurationSource②ICon ...
- ASP.Net上传大文件解决方案之IIS7.0下的配置
开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常.在网上看到一个解决办法但是没有效果 IIS 7 默认 ...
- ASP.NET上传大文件报错,IIS7.0
打开你系统盘(我是C盘),找到C:\Windows\System32\inetsrv\config\schema目录,该目录下有一个IIS_schema.xml,右击打开文件,Ctrl+F,然后输入& ...
- asp.net服务器页面处理过程
一.静态页面.动态页面区别 静态页面是服务端直接从硬盘里面读取然后发回去,动态页面就要创建这个页面类的对象,调用对象的方法,方法里面什么就发回什么.浏览器请求asp.net页面实际是请求asp.net ...
- IIS7.0/7.5 MVC3 实现伪静态
routes.MapRoute( "Default", "{controller}/{action}.html/{id}&qu ...
- [Asp.net MVC]页面伪静态实现
摘要 从页面Url及页面名称上看,你会发现静态页面和伪静态是一样的.伪静态的页面后缀可能是html,htm,cshtml等,只是改变了url的表现形式,实际上还是动态的页面.在SEO方面,伪静态和静态 ...
- [转载]ASP.NET页面之间传递值的几种方式
页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...
随机推荐
- SpringMVC系列(五)使用 Serlvet 原生的 API 作为目标方法的参数
SpringMVC的Handler方法可以接受哪些 ServletAPI 类型的参数 • HttpServletRequest• HttpServletResponse• HttpSession• j ...
- (转)使用FFMPEG类库分离出多媒体文件中的H.264码流
出自:http://blog.csdn.net/leixiaohua1020/article/details/11800877 在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的 ...
- 监听输入框值变化的最佳方案 oninput 和 onpropertychange (实时监控文本框改变的最佳方案)
公司有个文本框,当输入文字/粘贴/复制 或者是键盘猛按的时候,都希望这个文本框能统计出 输入了多少字 这种用 onchange onkeyup onkepress 都不怎么好使 最后在 ...
- erlang 二进制中 拼接 变量或者函数 报错
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVsAAACiCAIAAABgR/nfAAAM5ElEQVR4nO2dzZrcKBJF9Zjd/tnOdN
- lvm讲解/磁盘故障小案例
4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 lvm讲解 磁盘故障小案例
- ubuntu下安装和配置apache2+SVN的详细方法介绍
ubuntu安装和配置SVN第一步:安装apache2 libapache2-svn subversionsudo apt-get install apache2sudo apt-get insta ...
- 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏
一.在Android平台下搭建PhoneGap开发环境具体怎么搭建我这里就不详细说了,如有需要我后面再讲 . PhoneGap 官方地址有详细说明:http://www.phonegap.com. 在 ...
- 2 python大数据挖掘系列之淘宝商城数据预处理实战
preface 在上一章节我们聊了python大数据分析的基本模块,下面就说说2个项目吧,第一个是进行淘宝商品数据的挖掘,第二个是进行文本相似度匹配.好了,废话不多说,赶紧上车. 淘宝商品数据挖掘 数 ...
- redhat enterprise edition 6.8:禁止ipv6后,nfs文件系统无法挂载:no such device
如题:谨记. 附注:如何禁止ipv6? 方法一 第一种方法是通过 /etc/sysctl.conf 文件对 /proc 进行永久修改. 换句话说,就是用文本编辑器打开 /etc/sysctl.conf ...
- MyEclipse使用笔记
简单记录下个人常用的一些MyEclipse设置 VS颜色方案 Window-->Preference-->Java->Editor-->Syntax Coloring Clas ...