做的是全站URL重写。也是 对 *.aspx  *.html 所有页面进行重写不同的是,,如果 地址为 http://wefwfawef.com/23423.html 这个页面 如果实际存在就直接返回不存在就 输出字符串“no”关键来了啊,, 地址为 http://wefwfwef.com/234234.aspx 这个页面 如果实际存在就直接交给 app.aspx 页面处理
并且输出 234234.aspx 的结果。这个结果是要求执行过的.aspx页面 而不是把 <%=str%> 这样的服务器端变量也发到客户端浏览器

解决方案 »

  1.   

    地址为 http://wefwfwef.com/234234.aspx 这个页面 如果实际存在就直接交给 app.aspx 页面处理 问下你所说的处理是什么意思 ,是server.execute吗?如果是server.execute方法,会吧http://wefwfwef.com/234234.aspx这个页面执行并返回html发送给客户端的,但是html的include等包含文件是没法再执行了不知道你为什么要这么做?我觉得做URL重写不需要这么做
      

  2.   

    一直没有腾出闲工夫搞这个玩。我觉得这个只有“炫技”意义,至今没有看出任何实际意义。拿这个帖子的 url 来说吧:
    http://topic.csdn.net/u/20100112/16/d752c30c-aead-4926-a467-c7a996bcc268.html?71115首先,我敢说任何说:文件后缀.html比aspx或者php、jsp之类更能够SEO的都已经很过时好几年了,没有意义。除此以外,这样的url容易记忆吗?我从来没有记忆这个csdn的url,我想谁也不会用脑子去记忆它。当然如果是时髦的,微软就可能用时髦人的思路来展现一次他的技术实力。因此可以看
    http://blog.joycode.com/scottgu/archive/2010/01/06/115842.joy
      

  3.   


    我太不赞同你的说法了,比如我想看2009年新闻大事,我可以www.aa.com/2009/就找到了,当然很方便记忆。
    另外你说的“更能够SEO的都已经很过时好几年了”,这个说法是不存在的,就目前来说,seo还是偏好静态页面,而且url短的话,seo也是更容易收录的重写的好处无可辩驳的
      

  4.   

    我可以www.aa.com/2009/就找到了只要设置IIS就ok了,用得着那个重写吗
      

  5.   

    [Quote=引用 6 楼 lovexilove 的回复:]
    jf
      

  6.   

    实例解决下吧。。大家谈论url的意义又帖子再说。。
    先解决下 偶的问题吧,着急啊 谢谢了大家
      

  7.   


    如果你根本没有2009这个文件夹呢?所有的文件都在其他一个文件夹下,并且没有按年份存放,怎么办?另外排斥URL的兄弟们,baidu,google上随便搜一些常用的关键字,比如笔记本,三星笔记本,服务器,这些很常用的,然后看看流量很大的网站,比如sina,要么是静态,要么是经过了rewrite后的html的页面,是不是大部分都这样的随便打开一下 http://news.qq.com/ 看看里面的后缀,为什么都不php,aspx为后缀呢?难道他们是真的静态的html吗?而且重写隐藏了真实地址,也带来安全性的好处还需要争论重写有没有好处,太搞笑了
      

  8.   

    看你的要求,只有用IIS级别的URLREWRITER才有可能实现.
      

  9.   

    用微软的URLREWRITE组件直接重写,或者IIS的重写组件,都可以
    地址为 http://wefwfwef.com/234234.aspx 这个页面 如果实际存在就直接交给 app.aspx 页面处理 
    并且输出 234234.aspx 的结果
    不知道你为什么要这么做
      

  10.   

      主要是 栏目和标题等链接 用户想自定义想起什么名字起什么名字 如 vip.html 我管不着。但是 我可以给给他指定 模板,这个模板我是有标签需要解析的,最后输出出来就可以。。
    现在的问题在于: .html 没问题。当碰到aspx 需要重写的时候。。 他就死循环了。。
    也就是说 我请求的是 234.aspx 要交给 app.aspx 
    aap.aspx 这个也一直判断是否有模板,如果没有就继续交给app.aspx 这样以往来回,,死循环。。呵呵
    基础差,没办法,这个问题真不难
      

  11.   

    听的有点迷糊,有2个方法啊,不知道对不对
    第一个方法,就是只有某个文件夹下的aspx,才执行重写,其他的文件夹的aspx不用再执行重写了,这个你可以在webconfig里限定一下
    <location path=...><system.web>只有这个文件夹下的aspx,才提交给httpmodule里重写
    具体写法baidu一下,我就不查了,呵呵这样做的目的,就是交给的app.aspx不再重写第二个方法就是,重写前的aspx和重写后的aspx文件,文件名做个标记,比如重写后文件名统一加个__,这样重写的时候,判断文件名后面是否是__,如果是__说明是重写过的,直接执行页面,不再执行重写过程