C#如何实现无扩展名目录式重写!
来源:互联网 发布:淘宝创业故事视频 编辑:程序博客网 时间:2024/06/04 01:22
最近公司做了一个网站,为了讨好搜索引擎,好多地方在开发的时候都多走了好多路,最重要的就是地址的无扩展名目录式重写。起初我也不会,上网上资料吧,好家伙这资料写的一个比一个云山雾罩。费了好半天力气才搞定,等搞定了才知道多么的Easy~!于是我决定写博,把这个技术写出来,希望初学者不要像我一样走弯弯~!
好了,不多说了,开始~!
首先说一下我们要把什么样的页面重写成什么样的页面
就是把www.url.com/text.aspx?id=123重写成www.url.com/123/或www.url.com/123
1。网站引用两个DLL URLRewriter.dll(重写用的DLL,地球人都知道了)和ActionlessForm.dll(处理回发的DLL,具体下面会说到)
URLRewriter.dll下载地址:http://download.csdn.net/source/1929567
ActionlessForm.dll下载地址:http://download.csdn.net/source/1929569
2.配置IIS
你的网站--属性--主目录--配置--插入--C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll 将文件是否存在勾掉
具体其它配置根据自己的需求而定!
3.web.config的配置,如下:
<configuration>节点下:
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
<RewriterConfig>
<Rules>
<!-- 新闻 -->
<RewriterRule>
<LookFor>~/([0-9]*)</LookFor>
<SendTo><![CDATA[~/.aspx?txt=$1]]></SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/[0-9]*)/</LookFor>
<SendTo><![CDATA[~/Page.aspx?txt=$1]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>节点下:
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
经以上三步,目的基本达到,可以在在浏览器里输入www.url.com/123/或www.url.com/123查看了~!
但是,如果你在重写后的页面里放一个button或别的什么控件,在单击button时,页面的地址会变回原来的样子,这对用户来说可不是什么好事儿。所以要解决这个问题,就要有到上面我说所的ActionlessForm.dll(处理回发的DLL)了!方法简单的很,如下
1.引入ActionlessForm.dll
2.在重后的页面的第二行写如下代码:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
3.将页面中的<form runat="server"></form>替换成:<skm:form id="form1" runat="server"></skm:form>
好了,这样一来就哦了,没什么难度,只要知道方法!
还有就是重写后css,js等带有路径的东东会失效,只要改成绝对路径就可以了~!
- C#如何实现无扩展名目录式重写!
- C#(asp.net)实现目录(无扩展名)重写
- ASP.net实现无扩展名的URL重写(转)
- ASP.net实现无扩展名的URL重写
- Asp.Net中不修改IIS实现URL重写,支持任意扩展名及无扩展名
- Asp.Net中不修改IIS实现URL重写,支持任意扩展名及无扩展名
- Asp.Net中不修改IIS实现URL重写,支持任意扩展名及无扩展名
- Asp.Net中不修改IIS实现URL重写,支持任意扩展名及无扩展名
- Asp.Net实现URL重写,支持任意扩展名及无扩展名,多参数
- .Net中 实现URL重写 支持无扩展名及任意扩展名
- Asp.Net实现URL重写,支持任意扩展名及无扩展名,多参数
- UrlRewrite,Url重写,无扩展名重写
- Asp.Net中不修改IIS实现URL重写,支持任意扩展名及无扩展名(伪静态)
- Asp.Net中通常不修改IIS实现URL重写,支持任意扩展名及无扩展名(伪静态)
- Asp.Net中不修改IIS实现URL重写,支持任意扩展名及无扩展名(伪静态)
- iis5.1/iis6.0/iis7.0/iis7.5/iis8+ 配置url重写 无扩展名伪静态 包括无扩展名目录静态化
- ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI。
- ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI。
- lucene索引过程详解
- The War Between ICE and CORBA
- 自然语言理解-转移网络
- SQL Server Management Studio 的一个bug
- 自然语言理解-自底向上chart句法分析
- C#如何实现无扩展名目录式重写!
- 面向对象设计原则
- 几分钟内可以部署的搜索引擎-searchbox
- 配置编译内核(Linux kernel)
- sfc /scannow命令如何能用虚拟光驱完成修复?
- 在iBatis中加入c3p0数据库连接池
- 定制模拟器SDK
- nutch查询体系
- lucene-链式过滤器ChainedFliter