1. URLRewriter 相关资源:
2. URLRewriter 二级域名的实现:
3. 适用场合 IIS相关配置:
配置好后,查看日志看到的状态都是200,IIS直接认为这个文件是存在的了,
而不是301,或302,这在某些情况下可能会不适用,比如:搜索引擎优化时目录或文件调整。
默认只支持.net格式的重定向 比如:.aspx格式的重定向。
如:show_12_yongfa365.aspx --> show.aspx?id=12&name=yonga365
如果想实现,*.html这样的格式(一般我们就用这种方法实现.net 伪静态)
如:show_12_yongfa365.html --> show.aspx?id=12&name=yonga365
得在站点里加上相关“应用程序扩展”
添加方法:右击相关站点-->属性-->主目录-->配置-->映射-->
在里面找到扩展名是.aspx的记录,双击,复制里面的可执行文件里的内容,关闭
回到了应用程序配置里,点添加,粘贴刚才复制的地址,扩展名里输入".html",把“确认文件是否存在”的勾去掉。
OK,IIS上相关配置就配好了。
4.下载相关文件:
请从此下载UrlRewriter组件。安装,把安装目录下里的 UrlRewriter.dll copy 到你的项目 bin 目录下。
5.配置 Web.config:
在<configuration>标签里加上:
<configSections>
<section type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<!--URLRewriter重写规则,不会正则表达式的到网上找找,柳永法当时在车上两小时看完相关文档,感觉就看会了。-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(/d+).aspx</LookFor>
<SendTo>~/Default.aspx?page=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
在<system.web>标签里加上:
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" />
</httpModules>
<!--
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
-->
6. 加入窗体回传保持的组件:如果你的页面有回传。比如说放了DataGrid 或 GridView等,有分页的会出问题,解决方法:
在原来你下载的项目里找到 ActionlessForm.dll 放到你的项目 bin 目录下。
然后在你的这个页面中加入:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
再把你的<Form...>改为:
<skm:Form method="post" runat="server">
.....
</skm:Form>
新闻热点
疑难解答
图片精选