关于伪静态,其实就是重写URl,之前也不清楚怎么配置IIS,在项目中用VS运行很正常,当将网站发布后,在IIS中伪静态就失效了,不能访问,会报出404(不存在)的错误等其他的错误提示,今天在网上逛了几个小时 搜遍了,最后都是失败,网上大多数是在IIs6.0 以及更低版本上的配置,但在IIS7.0 以上的版本就不行了,不多说,直接正题:
首先你要在你的项目里引用两个DLL:
URLRewriter.dll
ActionlessForm.dll
真正实现重写的是URLRewriter.dll 但是如果你要实现分页,那么必须使用这个ActionlessForm .dll
一.添加URLRewriter.dll
1.(保证伪静态可以在vs项目中运行)下载一个URLRewriter.dll 程序集,
下载地址3:download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
在项目中引用这个程序集,伪静态语法...(例把.aspx 的页面用.html来表示,web.config文件中--> 添加 以下节点
<configSections>
<section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
<section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule><!--一个参数->
<LookFor>~/cn/ss_(.[/d]*)/.html</LookFor>
<SendTo>~/cn/news.aspx?id=$1</SendTo>
</RewriterRule>
<Rules>
<RewriterRule><!--一个参数->
<LookFor>~/cn/ss_(.[/d]*)/.html</LookFor>
<SendTo>~/cn/news.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule><!--传两个参数的-->
<LookFor>~/cn/ss_(.[/d]*)0(.[/w]*).html</LookFor> <!--(.[/d]*)(.[/w]*).html 或者 ss_,(.[0-9]*),(.[0-9]*)/.html-->
<SendTo><![CDATA[~/cn/news.aspx?id=$1&sid=$2]]></SendTo>
</RewriterRule>
<LookFor>~/cn/ss_(.[/d]*)0(.[/w]*).html</LookFor> <!--(.[/d]*)(.[/w]*).html 或者 ss_,(.[0-9]*),(.[0-9]*)/.html-->
<SendTo><![CDATA[~/cn/news.aspx?id=$1&sid=$2]]></SendTo>
</RewriterRule>
<RewriterRule><!--三个参数-->
<LookFor>~/cn/ss_(.[/d]*)0(.[/w]*)0(.[/w]*).html</LookFor><SendTo><![CDATA[~/ZH-CN/news.aspx?id=$1&sid=$2&n_id=$3]]></SendTo>
</RewriterRule>
<LookFor>~/cn/ss_(.[/d]*)0(.[/w]*)0(.[/w]*).html</LookFor><SendTo><![CDATA[~/ZH-CN/news.aspx?id=$1&sid=$2&n_id=$3]]></SendTo>
</RewriterRule>
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
2.发布网站在IIS中运行
你的网站-->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
3.测试
二.添加ActionlessForm.dll
1.添加ActionlessForm.cs类
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->namespaceActionlessForm{
publicclassForm:System.Web.UI.HtmlControls.HtmlForm
{protectedoverridevoidRenderAttributes(HtmlTextWriterwriter)
{
writer.WriteAttribute("name",this.Name);
base.Attributes.Remove("name");
writer.WriteAttribute("method",this.Method);
base.Attributes.Remove("method");
this.Attributes.Render(writer);
base.Attributes.Remove("action");
if(base.ID!=null)
writer.WriteAttribute("id",base.ClientID);
}}}
publicclassForm:System.Web.UI.HtmlControls.HtmlForm
{protectedoverridevoidRenderAttributes(HtmlTextWriterwriter)
{
writer.WriteAttribute("name",this.Name);
base.Attributes.Remove("name");
writer.WriteAttribute("method",this.Method);
base.Attributes.Remove("method");
this.Attributes.Render(writer);
base.Attributes.Remove("action");
if(base.ID!=null)
writer.WriteAttribute("id",base.ClientID);
}}}
创建此类并对其进行编译之后,要在 ASP.NET Web 应用程序中使用它,应首先将其添加到 Web 应用程序的 References 文件夹中。然后,要 使用它来代替 HtmlForm 类,做法是在 ASP.NET 网页的顶部添加以下内容:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %> 然后,将 <form runat="server">(如果有)替换为: <skm:Form id="Form1" method="post" runat="server"> 并将右边的 </form> 标记替换为:</skm:Form>
成功!
相关推荐
asp.net 伪静态实现和IIS7.0配置(包含UrlRewriter.dll文件) 经本人测试可正常使用
第三步:新建一个网站,将网站的物理路径指定到刚才的那个web项目,然后我就直接在浏览器中浏览网站,出现访问权限的问题,按照网上的解决办法:给网站文件夹加入IIS_IUSRS用户权限(这一步很关键),并且我将“身份...
4、网站采用三种页面处理技术,可以生成纯静态网页模式、在不使用asp.net其余为静态插件的前提进行伪静态方式访问、前两者如都不用还可以用动态访问。 5、Angelcms在显示列表数量时,页面可选生成静态,大大减轻...
4、网站采用三种页面处理技术,可以生成纯静态网页模式、在不使用asp.net其余为静态插件的前提进行伪静态方式访问、前两者如都不用还可以用动态访问。 5、Angelcms在显示列表数量时,页面可选生成静态,大大减轻...
四、在Vista系统中安装IIS7.0相对于早先的版本,IIS 7.0 带来了许多引人注目的新特色新功能,比如基于 Microsoft .NET Framework 的全局配置文件,可简单地通过文本编辑器或 Microsoft Visual Studio 编辑;...
服务端支持:IIS6.0/7.0及以上 Microsoft .NET Framework v4.0; 数据库支持:MS SQL Server 2000及以上(注:系统内所使用的SQL语句支持Access数据库,您可自行对源码数据库链接方式部分进行修改即可!)。
科美智能企业网站管理系统标准版是以asp access进行开发的企业网站系统,软件还包含了全站生成静态页面的功能。 特别提醒: 1.切勿用那些调试软件调试(比如:aspweb、NETBOX、小旋风等),如果您想本地运行源码,...
请确认服务器支持以下配置 基本配置: Windows 2000及更高版本,IIS 5.0及更高版本,SQL SERVER 7.0及更高版本。推荐配置: Windows 2000+IIS 5.0+SQL SERVER 2000。其他设置: 支持ADODB.Connection,FSO,Microsoft....
网软志成分类信息系统核心参数的合理配置,专业的web 、数据库、附件和图片链的负载均衡处理,保证了站点在繁忙的服务器环境下快速而稳定的运行。 严密的安全体系独创的防攻击技术保障 专业的过滤注入式入侵、严密...
dotNETCMSv1.0是一款具有强大的功能的基于ASP.NET+MSSQL构架的内容管理软件,国内领先的第一款开源的、集成web2.0元素的、模块化的CMS建站系统。 dotNETCMSv1.0版功能: SQL数据库+内容管理+频道管理+发布管理+...
借助全伪静态技术,您的网站出现在搜索引擎中的几率大大增高;全伪静态处理技术是作为构建大型站点的必要条件。除此以外,网软旅游网站还专门在网站结构以及页面URL地址链接等方面对搜索引擎进行了优化,专为搜索...
护卫神主机大师 是一款帮助管理员在线管理服务器的主机管理软件,拥有两大功能模块: 1、 一键安装网站运行环境 :IIS+ASP+ASP.net2.0/4.0+PHP5.2/3/4/5/6、7.0/1+MySQL+FTP+PhpMyAdmin+伪静态;每个
动力启航是一个以ASP.NET(C#) jQuery技术为中心,面向软件开发者...5、IIS7.0以上应用池用集成模式不需要任何设置即可完美运行; 6、对查询分页进行改进与优化; 7、增加了分站概念,支持每个站子单独设置站点信息;
基本配置:Windows2000及更高版本,.NETFramework2.0,IIS5.0及更高版本,如为SQL版本同时需要SQLServer7.0或更高版本 推荐配置:Windows2003+IIS6.0+.NETFramework2.0+Access+SQLServer2000 本系统需要服务器...
基本配置:Windows 2000及更高版本,IIS 5.0及更高版本,SQL SERVER 7.0及更高版本。 推荐配置:Windows 2003+IIS 6.0+SQL SERVER 2000。 其他设置:支持ADODB.Connection、FSO、Microsoft.XMLHTTP、ADODB....
3、如果要开启静态化页面功能的话先在系统设置那里找到“是否使用静态页面”选项,并设置为“是”,然后在打开静态化页面,执行生成整站页面。当然了,你也可以单独生成某些页面。具体请查看生成静态页面的说明。 ...
1. 系统环境:MS WINDOWS 2003 +IIS 6.0 2. 数 据 库:MS Access2003 3. 测试浏览器:腾讯TT浏览器 微软IE浏览器6.0 微软IE浏览器7.0 4. 系统分辨率:1024X768 ☆系统前台简介☆ 1.申请加入免费友情链接网...
ASBLOG v2.5是在总结了ASBLOG v2.x的一些用户反馈以及开发经验的基础上,重点针对执行速度和主题风格制作这两方面,优化了内核的架构,整理编写的程序。 由于我们能力有限,程序仍可能存在某些疏漏,希望您能提出...
为达到最佳效果,推荐使用九网互联的ASP.net空间,支持ASP.net版本1.1和2.0在线切换、在线脚本映射、ASP.net具体错误信息在线查看。dotNETCMSv1.0免费版本是一款具有强大的功能的基于ASP.NET+MSSQL构架的内容管理...
1. 系统环境:MS WINDOWS 2003 +IIS 6.0 2. 数 据 库:MS Access2003 3. 测试浏览器:腾讯TT浏览器 微软IE浏览器6.0 微软IE浏览器7.0 4. 系统分辨率:1024X768 ☆系统前台简介☆ 1.申请加入免费友情链接网的...