admin 管理员组文章数量: 887021
2024年2月26日发(作者:discuz商业授权)
使用Microsoft URL Rewrite Module for IIS 7.0修改即可实现*.HTML伪静态
无需修改应用程序映射
在IIS5和IIS6时代,我们使用URL REWRITING可实现URL重写,使得WEB程序实现伪静态,但默认情况下只能实现.ASPX的伪静态,如果要实现伪静态*.HTML的页面,需要将ISAPI里面的*.HTML应用程序映射改为.NET的ISAPI。但在IIS 7时代,这一切已经变得非常简单了,您在中就可以管理这一切了。
在服务器上安装好Microsoft URL Rewrite Module,具体下载地址如下:
Microsoft URL Rewrite Module for IIS 7.0 (x86)
下载地址:/downloads/?tabid=34&g=6&i=1691
Microsoft URL Rewrite Module for IIS 7.0 (x64)
下载地址:/downloads/?tabid=34&g=6&i=1692
安装好之后如图:
可以直接在IIS 7里面进行添加重写规则,也可以直接在中设置:
然后,访问 /article/ 就是 访问/?newid=366的结果了,无需像以前IIS 6时代一样去添加*.HTML的ISAPI的应用程序映射了。(这对使用虚拟主机的站点来说可是个福音,不用再叫管理员去帮你加设置了,自己在中可以设置这一切了)
下面还附一个重写的规则转换工具。
可以将您原有的第三方组件或apache的.htaccess规则配置,快速按规范转化为IIS7.0的使用重写规则。
posted @ 2009-03-02 17:12 RawMan 阅读(1786) | 评论 (4) | 编辑
IIS7下使用开源组件的设置
IIS 6下我们要设置伪静态的方法很简单,到IIS 7中也一样简单,只是界面不一样而已,具体看图。
把MSDNURLRewriting源码编译成,然后在项目中引用
的设置:
type="erConfigSerializerSectionHandler, URLRewriter" /> <> > 如果要伪静态*.HTML,需要更改应用程序映射(微软推出了 Microsoft URL Rewrite Module for IIS 7.0,服务器安装了该组件的空间,可以不用进行下面的步骤,直接在中设置就行,具体看我的另外一篇博客文章) 步骤1: 在对应“站点”中的“功能视图”中双击“处理程序映射”。 步骤2: 步骤2为选择“添加脚本映射” 步骤3: 可执行文件路径一般为: C:"WINDOWS""Framework"v2.0.50727"aspnet_,具体路径根据.NET安装路径来设置,默认一般在C盘下 到这里就设置完毕了。 //--------------------------------------------------------------------------------------- 关于“请求限制”的设置说明,请参考下图: 请求限制中,映射的设置不需要勾选,(默认也是不勾选的,但检查一下为好,防止出错) posted @ 2009-03-02 16:48 RawMan 阅读(72) | 评论 (0) | 编辑 2009年2月14日 C# Web开发 标准读写Cookies的方法 支持跨二级域和虚拟目录 在博客园看到另外一个朋友的可跨二级域操作Cookies方法,在它基础上完善了一下,现发出来 我参考的哪位朋友的文章地址是:/voswin/articles/ /// /// 添加/更新 Cookies /// /// /// /// /// /// public static void SetUserCookies(string _domain, string _cookiepath, string _key, string _cookiename, string _value, DateTime _expires) { HttpCookie cookie = s[_key]; //防止中文乱码 _value = ode(_value); //加密 _value = t(_value); if (cookie == null) { cookie = new HttpCookie(_key); = _domain; = _cookiepath; s = _expires; (_cookiename, _value); Cookie(cookie); } else { = _domain; = _cookiepath; s = _expires; if ([_cookiename] != null) { (_cookiename, _value); } else { (_cookiename, _value); } kie(cookie); } } /// /// 读取Cookies /// /// /// /// public static string GetUserCookies(string _key, string _cookiename) { HttpCookie cookie = s[_key]; if (cookie != null) { string _value = (_cookiename); if (!OrEmpty(_value)) { //防止中文乱码 _value = ode(_value); //解密 _value = t(_value); return _value; } else { return ""; } } else { return ""; } } /// /// 清除Cookies /// /// /// /// public static void ClearUserCookies(string _domain, string _cookiepath, string _key) { HttpCookie cookie = s[_key]; if (cookie != null) { (); = _domain; = _cookiepath; s = s(-1); kie(cookie); } } 加密Cookies和解密Cookies方法: 加密/解密方法 DESEncrypt public class DESEncrypt { #region ========加密======== /// /// 加密 /// /// /// public static string Encrypt(string Text) { return Encrypt(Text, "lixyvip"); } /// /// 加密数据 /// /// /// /// public static string Encrypt(string Text, string sKey) { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray; inputByteArray = es(Text); = es(sswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); = es(sswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); Stream ms = new Stream(); CryptoStream cs = new CryptoStream(ms, Encryptor(), ); (inputByteArray, 0, ); inalBlock(); StringBuilder ret = new StringBuilder(); foreach (byte b in y()) { Format("{0:X2}", b); } return ng(); } #endregion #region ========解密======== /// /// 解密 /// /// /// public static string Decrypt(string Text) { return Decrypt(Text, "lixyvip"); } /// /// 解密数据 /// /// /// /// public static string Decrypt(string Text, string sKey) { try { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); int len; len = / 2; byte[] inputByteArray = new byte[len]; int x, i; for (x = 0; x < len; x++) { i = 32(ing(x * 2, 2), 16); inputByteArray[x] = (byte)i; } = es(sswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); = es(sswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); Stream ms = new Stream(); CryptoStream cs = new CryptoStream(ms, Decryptor(), ); (inputByteArray, 0, ); inalBlock(); return ing(y()); } catch { return Text; } } #endregion } 读取当前客户机器所有的Cookies代码: string[] keyArr = s; for (int c = 0; c < ; c++) { (s[keyArr[c]].Name); (" (s[keyArr[c]].ng()); (" (s[keyArr[c]].Value); (" (" } 使用或自己写重载方法参考示例: SetUserCookies(Name, utes(miniute)); return GetUserCookies("hnce", name); ClearUserCookies(Name, "/", "hnce"); 另外提醒一下,(_cookiename, _value); 跟 [_cookiename] = _value; 这两种方式都可以设置Cookies的值,但是Add和Set方法后,读取要使用Get方法,而Values[]赋值方式,读取要使用s[_key][_cookiename].ToString() 否则有Cookies读取不了的情况。 //下面附参考文章的部分内容说明 //------------------------------------------------------------------------ Cookie有三个属性需要注意一下: 1. Domain 域 2. Path 路径 3. Expires 过期时间 跨域操作需要设置域属性: s("MyCookie").Domain = ""; (这里指的是泛域名) 这样在其它二级域名下就都可以访问到了, ASP 和 测试通过 虚拟目录下访问: "/", "hnce", name, str, 我在ASP端做了下测试,.NET的没试, 如果不指定Path属性, 不同虚拟目录下Cookie无法共享 将s("MyCookie").Path = "/" 就可以了 总的写法: s("MyCookie").Domain = ""; s("MyCookie").Path = "/" s("MyCookie").Expires = Now + 365; s("MyCookie")("Test") = "test"; posted @ 2009-02-14 13:42 RawMan 阅读(145) | 评论 (0) | 编辑 2009年2月12日 我的第二个智能手机 HKC G801 严重质量问题 USB接口坏后解决办法 自从搞了.NET以来,一直就对微软的产品有着特别的好奇感和追求感。于是选自己的智能手机当然是一直选WM的系统平台了。首先介绍一下我目前用过的两款智能手机: 第一个智能手机,买的多普达 595,是SmartPhone的 第二个智能手机,就是买的HKC G801,是PPC的 HKC G801是2008年11月底买的,两个月后,1月份就出现了U盘无法检测到,值得庆幸的是USB还可以以充电,加上工作忙,也就没怎么去管它。2009年,正月初5,我的G801突然就不能充电了,以为是USB线没插好,于是重新插了一下,还是不行,反复插了几下,最后,USB接口竟然进去了(里面接点和USB接口断开了) 拿到销售商,他说这也属于人为因素,要我自己负责修理,但是销售商说,只要20元左右就能修好,主要是重新焊接一下USB接口就行。和对方争执了一会,觉得没什么意思,就算了,决定还是自己找人修理算了。。。 拿到修理铺,师傅一开机,看了后,说坏了,主板也得换,因为USB接口在脱开的时候,把主板上的焊接点也一起粘了出来,也就是板子上没用焊接点了,晕~~~ 20元还愿意出,换主板就算了吧,于是离开了修理店 没了USB接口,这下可麻烦了,不能充电,不能复制东西了 无奈,买了一块电池和座充 充电问题解决了,可复制文件呢?怎么办 用SD卡+读卡器? 哪多麻烦 手机有蓝牙啊?于是买了个PC电脑上用的蓝牙适配器,也就是让电脑也有蓝牙功能,然后就可以互传文件了。于是去国储电脑城25元买了一个蓝牙适配器。 但是买回来后,PC的蓝牙和手机蓝牙能相互配对,但无论我怎么设置,PC都不能向手机发文件,(手机向和PC传文件可以)我当时用的XP系统,蓝牙软件我用的IVT_BlueSoleil_5.0;我拿同事的多普达S1,奇怪了,他的可以正常传文件(PC传文件给手机,直接复制、粘贴 就可以了,并且PC机器上不需要安装微软的同步软件),而我的G801与PC蓝牙配对后,在蓝牙的文件传输服务项哪是灰色的,无法开启,只有 ActiveSync服务可以用。 后来研究了半天,原来是因为我的手机操作系统是WM6.0的原因,我同事的是WM6.1; 使用WM6.0系统的蓝牙传输,如果从PC发文件到手机,需要使用ActiveSync同步工具进行;只有WM6.1系统可以在PC机器安装好驱动的情况下,直接使用IVT_BlueSoleil的文件传输进行PC向手机传文件。 特别注意:Vista用户请不要安装蓝牙驱动和蓝牙软件,基本上VISTA都能全部识别,蓝牙插入机器后,在VISTA的控制面板里面有个“BlueTooth设备”,用它就行;Vista下的同步软件已经不是ActiveSync软件了,它被Windows Mobile Device Center取代了,所以这里一定要注意。 那我的可不可以刷成WM6.1呢? 没USB线,可以刷机么? 在网上找了许久,原来可以用SD卡刷机,爽啊。 于是去网上找G801的卡刷ROM,找了半天,只有WM6.0的卡刷ROM,没有WM6.1的卡刷ROM 唉,最后没有办法,还是选择了用ActiveSync来用蓝牙实现文件互传了。 具体如何将ActiveSync与手机设为蓝牙同步,在手机的ActiveSync帮助和PC上的ActiveSync帮助中都有说明,看帮助就会了。 大概的设置就是在PC蓝牙上设一个COM端口,用来接收文件,然后在PC上的ActiveSync中使用这个COM端口,然后在手机的ActiveSync软件的“菜单”--“蓝牙连接” 然后连接成功,就和USB线连接电脑一模一样了 最后补充:G801在质量和做工方面还是显得很随便,个人感觉不怎么样,因为我自己拆开机器过,在材质的使用和工艺上,明显档次不够。
");
");
");
");
版权声明:本文标题:使用Microsoft URL Rewrite Module for IIS 7.0修改WEB.CONFIG即可实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708926283h534548.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论