在asp.net中是用伪静态---修改webconfig配置文件

3 篇文章 0 订阅

        使用rewrite在iis上设置规则来实现伪静态,这样在vs中开发的时候将无法调试,必须要是用iis发布才不会造成找不到文件的错误,当然,肯定还有其他的方法来实现伪静态的,不用再iis中设置任何的东西,只需要一个。net的组件和设置一下webconfig文件就ok了,来看一下,这东西,我用的次数很少,每次用都怕忘记,所以记录下来,下次忘记的话也不用Google啦

      这回的准备工作,你必须去网上download一个URLRewriter.dll组件了,网上貌似有这个类库的源代码,当然里面也有编译好的dll文件,只需要把dll文件coty到自己站点的Bin下面,然后在网站上右键,添加引用,浏览选择这个dll文件即可。

     下面就需要在webconfig里面配置一番了

     1、在Web.Config的<system.web>和</system.web>添加以下节点:
    <httpModules> 
      <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" /> 
    </httpModules> 

    2、在Web.Config的<configuration>和</configuration>添加以下节点:

 
设置完以上两个步骤,就基本可以运行了,其中<RewriterRule/>标签里面就是重写的一个模块,<LookFor/>里面的是重写后的地址,而<SendTo/>则是原地址。大家应该注意到了我写了2组<RewriterRule/>,其中第一组的是给单参数的地址用的,而另一组是给多参数动态文件用的。

   相信大家如果用过在iis里面配置伪静态规则的话,那在webconfig里面配置规则自然不在话下,如果不会的话,就去找一些正则表达式的书看一下,不需要很精通就行

  当然此方法有一些注意事项:
1.不能使用Windows身份验证用户权限. 应使用Form验证,在web.config配置为:<authentication mode="Forms" />
2.使用Request.ServerVariables["script_name"]获得的路径仍然是:ShowPlay.asp?vid=1
3.被重写的地址如果回发,重写将失效 显示的地址将是ShowPlay.asp?vid=1
4. 后缀名必须为.aspx.如果是其他自定义后缀名,如.net  请在iis将.net映射到aspnet_isapi.dll.这样.net请求才能
到达asp.net引擎.

 

ok了,没有提供组件的下载地址,但是在网上找到自己需要的资源也是学习的一种,名字有了,在当今的互联网时代,资源还能跑吗

 

 

附,有个小例子给大家看一下

五个页面

About.aspx body里面代码

Default.aspx页面,只有一句话不一样

    这是主页,url是Default.aspx还是Default.html?<br/>

相信你能找到这句话,其他的复制过来就行

Detial.aspx页面

    这是Detial页,url是Detial.aspx还是Detial.html?<br/>

Double.aspx

    这是Double页,url是Double.aspx还是Double.html?<br/>

List.aspx

    这是list页,url是List.aspx还是List.html?<br/>

 

他们的后置代码

 

webconfig按照上面的配置就行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值