ASP.NET网站伪静态下使用中文URL的方法
首先解释一下,什么是中文URL呢?它并不是我们常见的把汉字编码为 %CF%EC 这种形式,而是在URL中直接使用汉字
这种形式目前还不是很多见。因为不同的浏览器处理起来可能会有所不同,不过据我测试,IE8和Firefox是完全支持的。
它的好处是可以使用链接地址看起来非常直观易懂!搜索引擎也支持。
先讲一下我的ASP.NET网站的伪静态,我的文件都是以.htm结尾的,实际上是动态的ASP。方法是:在后台将htm映射为aspx文件。
伪静态的规则,是在web.config文件中定义的。
形式一:
http://www.jb51.net/北京市.htm
伪静态代码
<Rules> <RewriterRule> <LookFor>~/([^省市到]+)[省|市]\.htm</LookFor> <SendTo> <![CDATA[~/prov.aspx?provname=$1]]> </SendTo> </RewriterRule> </Rules>
形式二:
http://www.jb51.net/湖北/汉口.htm
<Rules> <RewriterRule> <LookFor>~/([^/]+)/(\w+)\.htm</LookFor> <SendTo> <![CDATA[~/city.aspx?provname=$1&cityname=$2]]> </SendTo> </RewriterRule> </Rules>
实际上的代码处理,是在prov.aspx和 city.aspx 这两个后台文件实现的,但是伪静态完全隐藏了这一点。
相关推荐
-
win2003 iis asp.net伪静态配置图解
一.[系统环境] 操作系统:windows2003 软件:iis 6.0 .net2.0以上 二.[配置伪静态步骤] 1.右键点击 要设置网站的网站 2.属性 -->主目录 -->配置--> 3.如右侧窗口,找到 .aspx 扩展名-->编辑-->复制 可执行文件的路径-->关闭 4.点击 添加-->粘贴 刚复制的 可执行文件路径 5.扩展名填写 .html (如果是 .htm 或者 任意你想要的扩展都可以 前提是以后的应用程序扩展列表里边没有该扩展) 6.不选中
-
ASP.NET URL伪静态重写实现方法
在web.config里设置如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?> <!--overred--> <configuration> <configSections> <section name="RewriterConfig"type="URLRewriter.Config.RewriterConfigSeriali
-
asp.net伪静态配置备忘
总之,感觉网站的URL上面有参数是一件很别扭的事情,一方面很容易被注入,另一方面,参数传递很容易泄露一些有用的信息. 而这篇文章主要针对的是网站URL显示的伪静态化,这样就抛弃了直接生成纯静态页的麻烦,而且能够很好的保护用户隐私,同时网站安全性也会有一定性能的提升. 主要操作过程如下: 首先,我们需要一个微软的URLReWriter组件,这里的下载地址我给提供下: http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a0
-
asp.net下通过泛解析和伪静态实现二级域名的实现方法
虽然最后是实现了,但身为程序员的我,却总是感觉利用其他不开源的组件自己总把握不了技术的核心.其实在net中微软已经为我们留下了接口,让我们为所欲为了. 首先我们可以通过一张图大概了解下.net的生命周期. 从 上图可以看出来,针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例.而 Ihttpcontext是httpcontext对外公开的接口,它包含了2个方法:dispose()和Init(HttpApplication context),我
-
aspnetpager重写url(伪静态)配置实例
复制代码 代码如下: <webdiyer:AspNetPager UrlPaging="true" EnableUrlRewriting="true" UrlRewritePattern="/bidding/list_%tid%_%cityid%_{0}_%isProvince%.aspx" ID="pager" CssClass="page" runat="server" O
-
ASP.NET MVC3的伪静态实现代码
现在开始研究第一步,如何定义自己的路由规则,达到伪静态的功能需求. 基本实现原理如下图: 首先,关于命名空间. 路由的功能是为了让所有Asp.net网站开发都可以使用,所以dll并没有在MVC中,而是在System.Web中的System.web.Routing. 现在我们为了我们实际的需求,实现MVC3中的自定义路由功能(继承RouteBase,重写RouteData和VirtualPathData). 下面的例子实现以下目的:输入一个youdomin.com/product/123.html
-
asp.net core mvc实现伪静态功能
在大型网站系统中,为了提高系统访问性能,往往会把一些不经常变得内容发布成静态页,比如商城的产品详情页,新闻详情页,这些信息一旦发布后,变化的频率不会很高,如果还采用动态输出的方式进行处理的话,肯定会给服务器造成很大的资源浪费.但是我们又不能针对这些内容都独立制作静态页,所以我们可以在系统中利用伪静态的方式进行处理,至于什么是伪静态,大家可以百度下.我们这里就来介绍一下,在asp.net core mvc中实现伪静态的方式. mvc框架中,view代表的是视图,它执行的结果就是最终输出到客户端浏览
-
asp.net不用设置iis实现url重写 类似伪静态路由
程序要调整的部分只有两块.一是web.config文件.二是链接地址.所需urlrewrite.dll 首先下载URLRewriter:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi 下载安装后再bin目录下找到URLRewriter.dll文件 好了开始实施.第一步:将urlrewrite.dll下载到你的web程序目录里去.哪都行.我是
-
ASP.NET实现伪静态网页方法小结
本文实例总结了ASP.NET实现伪静态网页方法,分享给大家供大家参考之用.具体方法如下: 方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:"http://www.XXXX.com/show-12-34.html",你或许认为在站点服务器根目录"/"下存在名为"show-12-34.html"的文件,其实实际它可能是不存在的,而可能你看到的内容是"/aspx/show.aspx?type=
-
iis6伪静态重写路径的配置步骤(.net项目)
第一步:在网站项目涨添加URLRewriter程序集的引用和FormRewriterControlAdapter程序集引用. 注:如果项目中有分页,那么需要添加"FormRewriterControlAdapter"程序集引用,否则不需要添加该引用. 下载地址:http://www.net.cn/service/ziliao/cpsc/200906/3842.html(万网/帮助中心(M享主机UrlRewrite组件和使用手册)) 第二步:配置webconfig文件: 注意事项:1.参
随机推荐
- AngularJS入门教程之 XMLHttpRequest实例讲解
- 编译和解释的区别是什么
- pycharm 使用心得(四)显示行号
- IIS APPPOOL\DefaultAppPool登录失败怎么办
- java解析php函数json_encode unicode 编码问题
- Spring boot中mongodb的使用
- 用于过滤空白字符的几种常见的js正则表达式pattern
- Python3.2中Print函数用法实例详解
- 用js实现计算代码行数的简单方法附代码
- asp.net B2B网站对接支付宝接口
- php生成局部唯一识别码LUID的代码
- JavaScript中把数字转换为字符串的程序代码
- 总结PHP中数值计算的注意事项
- PHP在线生成二维码代码(google api)
- 常用的js方法合集
- Mysql启动的方式(四种)
- 解析dom中的children对象数组元素firstChild,lastChild的使用
- JavaScript中的数据类型转换方法小结
- jquery实现弹出层效果实例
- IE与FireFox的兼容性问题分析