.NET做的一个项目
现在要把 http://localhost/Qibucy/ShowNews.aspx?id=5
转换成 http://localhost/Qibucy/ShowNews_5.html的形式。
浏览器里直接输入http://localhost/Qibucy/ShowNews_5.html 这时错误
总是提示找不到网页 
正在查找的网页可能已被删除、重命名或暂时不可用。 这样的错误
但奇怪的是我在VS里直接运行  浏览器的地址为这样
http://localhost:2603/Qibucy/howNews_5.html    这时又正确
这样又能正确的仿问到我想要的新闻内容。这是为什么呢?
我的WEB.CONFIG 转换那一段是这样的
<RewriterRule>
<LookFor>~/ShowNews_(.[\d]*).html</LookFor>
<SendTo>~/ShowNews.aspx?ID=$1</SendTo> <!--//即把$1的值给括号的地方-->
</RewriterRule>
感觉就是相对路径与绝对路径之间的问题
还望高人指点一二。先谢过了先

解决方案 »

  1.   

    我是在IIS里建的虚拟目录 Qibucy
    正常仿问是 http://localhost/Qibucy/ShowNews.aspx?id=5
    这样的
      

  2.   

    大家一起来学习,伪静态只需要在web.config配置一下就行了吗
      

  3.   

    我是在IIS里建的虚拟目录 Qibucy
    正常仿问是 http://localhost/Qibucy/ShowNews.aspx?id=5
    这样的<LookFor>~/ShowNews_(.[\d]*).html</LookFor>楼主想一下~/是什么意思不就明白了~/是站点根目录的意思    http://localhost/Qibucy/ShowNews.aspx?id=5这个地址的根目录是 http://localhost啊 
      

  4.   

    我把默认站改成了我的这个站
    没有伪静态时仿问地址为
    http://localhost/ShowNews.aspx?id=5 都能仿问
    以伪静态的形式仿问
    http://localhost/ShowNews_5.html 仿问还是不对的web.config 还是原来的这样的设置
    <RewriterRule>
    <LookFor>~/ShowNews_(.[\d]*).html</LookFor>
    <SendTo>~/ShowNews.aspx?ID=$1</SendTo> <!--//即把$1的值给括号的地方-->
    </RewriterRule>
    哪个做成功的帮帮我吧
      

  5.   

    vs里面是集成好所有的功能的,同时伪静态功能也有
    LZ想要在iis中也实现的话  需要添加映射
    可以好好看看这篇文章
    http://www.cnblogs.com/sishahu/archive/2011/04/07/2008735.html
      

  6.   

    你使用的是这个组件 UrlRewriter.NET要理解原理,就得知道httpModules的机制 另外要了解在不同版本iis 上,httpModules 的安装方法下面这个链接 给出的是 在win2003 安装 UrlRewriter.NET 的方法
    http://urlrewriter.net/index.php/support/installation/windows-server-2003
      

  7.   


    web.config+Global.asax   完全可以
      

  8.   

    <RewriterRule>
    <LookFor>~/Qibucy/ShowNews_(.[\d]*).html</LookFor>
    <SendTo>~/Qibucy/ShowNews.aspx?ID=$1</SendTo> <!--//即把$1的值给括号的地方-->
    </RewriterRule>是不是少了Qibucy/