【急急急】asp.net使用Rewrite.dll插件伪静态化的问题,见描述!

qq330596595 2013-10-05 01:22:30
服务器是iis6,系统win server 2003。网站是4.0的
先简单介绍下这个插件(高手自行绕道下段,直接看问题):

下载后一共有这几个文件,上网查资料后知道第一步需要把Rewrite.dll扩展到自己的站点,然后重启iis,这一步已经成功。第二步是修改规则,规则在httpd.ini修改,我就是卡在了这一步,查了很多资料,也在项目中去尝试,没有一个能成功的
。(site就是我网站的目录)
自己也不会写规则,网上也没有找到有用的案例。找了很久都是php和asp的案例。无奈之下把asp的规则放在了httpd.ini里,但还是不行。现在希望高手能帮帮我。【在线等,在线交流!!】
...全文
378 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
http://www.cnblogs.com/kingkoo/archive/2008/07/12/1241605.html http://hi.baidu.com/bluesky_cn/item/6f45cfc9bf53817688ad9e0b 参考下这两个看看。
  • 打赏
  • 举报
回复
引用 8 楼 qq330596595 的回复:
[quote=引用 5 楼 systemx 的回复:] 既然用ASP.NET了。为什么要用这个URLRewrite.DLL? 这是以前PHP用的多的。ASP也可以用。 如果你非要用这种方式的话。规则和用PHP和ASP没区别。一样写。
我试过用asp的规则来搞,但是没效果,所以到csdn来问高手,还有什么方法吗,哥们[/quote] 不会吧。你用ISAPI方式的话和用什么语言无关的。 我之前用的一直挺好。
qq330596595 2013-10-08
  • 打赏
  • 举报
回复
引用 9 楼 daijinhua 的回复:
[quote=引用 7 楼 qq330596595 的回复:] [quote=引用 6 楼 daijinhua 的回复:]
RewriteRule /login/ /login/login\.aspx\ [N,I]
RewriteRule /corp/(\d+)/trade/(\d+).html /ptqiye/trade\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/(\d+)/shop/(\d+).html /ptqiye/shop\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/(\d+)\.html /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4&page=$5 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/ /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4 [N,I]
给你几个列子吧。 主要在于 (\d+)或者([a-z0-9\%]+)对应后面的$1什么的参数 ,其他的格式你就不需要去深究了,规则而已。你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话,改动一些东西不太方便,所以还是可以直接用URLRewrite.DLL这种方法来写吧
"你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话"这话怎么说,哥们[/quote] 我这种写法不行吗 [/quote]是啊,这里“Corp”是文件的什么路径啊
qq330596595 2013-10-08
  • 打赏
  • 举报
回复
引用 1 楼 beyond_me21 的回复:
网站引用那个dll,然后再web.config里配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--加上这段-->  
<configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
  </configSections>
<!--加上这段-->
。。。
<system.web>
<!--这个也是必须的-->   
 <httpModules>
      <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
    </httpModules>
<!--这个也是必须的--> 
</system.web>
<!--这里写重写地址的规则-->
<RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/artlist,([0-9]+)\.aspx</LookFor>
        <SendTo><![CDATA[~/artlist.aspx?id=$1]]></SendTo>
      </RewriterRule>
</RewriterConfig>
<!--这里写重写地址的规则-->
</configuration>
验证过了,什么效果都没有啊
银-魂 2013-10-08
  • 打赏
  • 举报
回复
引用 14 楼 qq330596595 的回复:
[quote=引用 13 楼 daijinhua 的回复:] RewriteRule /login/ /login/login\.aspx\ [N,I] 这样的效果是:输入www.xxx.com/login/login.aspx后变成www.xxx.com/login/ 这样能理解了吧 其他的就多了几个参数,(\d+),([a-z0-9\%]+)数据类型的区别
恩恩,明白,谢谢。这个规则我也放到重写组件的配置文件过,也没有效果,也不报错。[/quote] 重写组件URLRewrite.DLL的调用方法跟这个不一样的,那个需要在webcofig里配置规则,虽然原理都是正则表达式,但写法不一样,在服务器上ISS里的设置也不一样。你可以百度看下URLRewrite.DLL这个在服务器的配置就明白了。
qq330596595 2013-10-08
  • 打赏
  • 举报
回复
引用 13 楼 daijinhua 的回复:
RewriteRule /login/ /login/login\.aspx\ [N,I] 这样的效果是:输入www.xxx.com/login/login.aspx后变成www.xxx.com/login/ 这样能理解了吧 其他的就多了几个参数,(\d+),([a-z0-9\%]+)数据类型的区别
恩恩,明白,谢谢。这个规则我也放到重写组件的配置文件过,也没有效果,也不报错。
银-魂 2013-10-08
  • 打赏
  • 举报
回复
RewriteRule /login/ /login/login\.aspx\ [N,I] 这样的效果是:输入www.xxx.com/login/login.aspx后变成www.xxx.com/login/ 这样能理解了吧 其他的就多了几个参数,(\d+),([a-z0-9\%]+)数据类型的区别
银-魂 2013-10-08
  • 打赏
  • 举报
回复
引用 11 楼 qq330596595 的回复:
[quote=引用 9 楼 daijinhua 的回复:] [quote=引用 7 楼 qq330596595 的回复:] [quote=引用 6 楼 daijinhua 的回复:]
RewriteRule /login/ /login/login\.aspx\ [N,I]
RewriteRule /corp/(\d+)/trade/(\d+).html /ptqiye/trade\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/(\d+)/shop/(\d+).html /ptqiye/shop\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/(\d+)\.html /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4&page=$5 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/ /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4 [N,I]
给你几个列子吧。 主要在于 (\d+)或者([a-z0-9\%]+)对应后面的$1什么的参数 ,其他的格式你就不需要去深究了,规则而已。你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话,改动一些东西不太方便,所以还是可以直接用URLRewrite.DLL这种方法来写吧
"你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话"这话怎么说,哥们[/quote] 我这种写法不行吗 [/quote]是啊,这里“Corp”是文件的什么路径啊[/quote] 嗯 文件夹的路径,后来是重写,最后那段是真实的文件路径
银-魂 2013-10-07
  • 打赏
  • 举报
回复
RewriteRule /login/ /login/login\.aspx\ [N,I]
RewriteRule /corp/(\d+)/trade/(\d+).html /ptqiye/trade\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/(\d+)/shop/(\d+).html /ptqiye/shop\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/(\d+)\.html /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4&page=$5 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/ /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4 [N,I]
给你几个列子吧。 主要在于 (\d+)或者([a-z0-9\%]+)对应后面的$1什么的参数 ,其他的格式你就不需要去深究了,规则而已。你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话,改动一些东西不太方便,所以还是可以直接用URLRewrite.DLL这种方法来写吧
银-魂 2013-10-07
  • 打赏
  • 举报
回复
引用 7 楼 qq330596595 的回复:
[quote=引用 6 楼 daijinhua 的回复:]
RewriteRule /login/ /login/login\.aspx\ [N,I]
RewriteRule /corp/(\d+)/trade/(\d+).html /ptqiye/trade\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/(\d+)/shop/(\d+).html /ptqiye/shop\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/(\d+)\.html /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4&page=$5 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/ /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4 [N,I]
给你几个列子吧。 主要在于 (\d+)或者([a-z0-9\%]+)对应后面的$1什么的参数 ,其他的格式你就不需要去深究了,规则而已。你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话,改动一些东西不太方便,所以还是可以直接用URLRewrite.DLL这种方法来写吧
"你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话"这话怎么说,哥们[/quote] 我这种写法不行吗
  • 打赏
  • 举报
回复
既然用ASP.NET了。为什么要用这个URLRewrite.DLL? 这是以前PHP用的多的。ASP也可以用。 如果你非要用这种方式的话。规则和用PHP和ASP没区别。一样写。
qq330596595 2013-10-07
  • 打赏
  • 举报
回复
引用 5 楼 systemx 的回复:
既然用ASP.NET了。为什么要用这个URLRewrite.DLL? 这是以前PHP用的多的。ASP也可以用。 如果你非要用这种方式的话。规则和用PHP和ASP没区别。一样写。
我试过用asp的规则来搞,但是没效果,所以到csdn来问高手,还有什么方法吗,哥们
qq330596595 2013-10-07
  • 打赏
  • 举报
回复
引用 6 楼 daijinhua 的回复:
RewriteRule /login/ /login/login\.aspx\ [N,I]
RewriteRule /corp/(\d+)/trade/(\d+).html /ptqiye/trade\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/(\d+)/shop/(\d+).html /ptqiye/shop\.aspx\?cid=$1&page=$2 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/(\d+)\.html /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4&page=$5 [N,I]
RewriteRule /corp/list-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)-([a-z0-9\%]+)/ /corp/list\.aspx\?classid=$1&num=$2&areaid=$3&title=$4 [N,I]
给你几个列子吧。 主要在于 (\d+)或者([a-z0-9\%]+)对应后面的$1什么的参数 ,其他的格式你就不需要去深究了,规则而已。你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话,改动一些东西不太方便,所以还是可以直接用URLRewrite.DLL这种方法来写吧
"你用这种方法来写伪静态是徒方便,不过后期如果是要生产静态页的话"这话怎么说,哥们
H_Gragon 2013-10-06
  • 打赏
  • 举报
回复
qq330596595 2013-10-06
  • 打赏
  • 举报
回复
引用 1 楼 beyond_me21 的回复:
网站引用那个dll,然后再web.config里配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--加上这段-->  
<configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
  </configSections>
<!--加上这段-->
。。。
<system.web>
<!--这个也是必须的-->   
 <httpModules>
      <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
    </httpModules>
<!--这个也是必须的--> 
</system.web>
<!--这里写重写地址的规则-->
<RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/artlist,([0-9]+)\.aspx</LookFor>
        <SendTo><![CDATA[~/artlist.aspx?id=$1]]></SendTo>
      </RewriterRule>
</RewriterConfig>
<!--这里写重写地址的规则-->
</configuration>
是直接引用dll,不进行ispi的配置,然后在配置文件增加这段配置吗?大神
种草德鲁伊 2013-10-05
  • 打赏
  • 举报
回复
asp.net的话干脆就用url路由吧
beyond_me21 2013-10-05
  • 打赏
  • 举报
回复
网站引用那个dll,然后再web.config里配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--加上这段-->  
<configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
  </configSections>
<!--加上这段-->
。。。
<system.web>
<!--这个也是必须的-->   
 <httpModules>
      <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
    </httpModules>
<!--这个也是必须的--> 
</system.web>
<!--这里写重写地址的规则-->
<RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/artlist,([0-9]+)\.aspx</LookFor>
        <SendTo><![CDATA[~/artlist.aspx?id=$1]]></SendTo>
      </RewriterRule>
</RewriterConfig>
<!--这里写重写地址的规则-->
</configuration>

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧