1. URLRewriter 相关资源: http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi http://msdn.microsoft.com/zh-cn/library/ms972974.aspx http://blog.csdn.net/chenghp/archive/2007/04/10/1559212.aspx
2. URLRewriter 二级域名的实现: http://www.cnblogs.com/jzywh/archive/2006/02/20/seconddomainurlrewriter.html http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html
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 name="RewriterConfig" 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" name="ModuleRewriter" /> </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 id="你的表单名" method="post" runat="server"> ..... </skm:Form> |