none
关于server.urlencode 的使用 RRS feed

  • 问题

  • 我做了站点需要 生成静态页面。命名是产品名字来的:
    产品型号如下:
    LGM012-380/BBS-1174825,如果不做任何处理,生成的静态页面的名字是不符合规范的,/product/LGM012-380/BBS-1174825.html,这样肯定找不到页面
    由于静态生成代码 写在单独的类里,不知道怎么去调用 Server.UrlEncode
    于是我使用:
    System.Web.HttpUtility.UrlEncode
    页面的名字改了:
    LGM012-380%2fBBS-1174825.html
    但是我用http://sitename/product/LGM012-380%2fBBS-1174825.html,这个页面存在却无法访问,
    请问大家 这个怎么处理,在不改产品名字的情况下

    leo
    2011年4月12日 9:37

答案

  • 创建文件和文件夹应该是相同的权限,也可以考虑先创建空的文件夹,如果再生成静态文件,就直接放进去。


    A marked answer is appreciated.
    2011年4月18日 7:55
    版主

全部回复

  • 刚刚使用了: System.Web.HttpContext.Current.Server.UrlEncode,生成了页面:LGM012-380%2fBBS-1174825.html 但还是无法正常访问页面、直接奔向404错误页面

    leo
    2011年4月12日 9:51
  • 你好,请问你的静态页面是如何生成的?是把字符串直接写入html文件,然后放在iis的目录里吗?

     


    A marked answer is appreciated.
    2011年4月15日 2:28
    版主
  • 我是直接生成了静态页面. 放在iis目录下面,现在主要看版主能不能将这个斜杠在链接中合法化,我倒是想了个办法 :http://sitename/product/LGM012-380/BBS-1174825.html,直接就让代码新建一个文件夹以型号中包含斜杠之前的部分做文件夹的名字,把截取的后部分做html文件名。因为后面是ID,不会重复。就不知道权限是否允许建立文件夹

    leo
    2011年4月15日 7:28
  • 创建文件和文件夹应该是相同的权限,也可以考虑先创建空的文件夹,如果再生成静态文件,就直接放进去。


    A marked answer is appreciated.
    2011年4月18日 7:55
    版主
  • 直接把-换成_符号
    2011年4月18日 8:44
    版主
  • 用用字符串替换 吧,将/换成_之类的。
    2011年4月18日 16:11