请教菜鸟类型问题???急急!!

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

asp   +   access   程序  
   
  我有两个目录,/cgi-bin     放置   asp程序及打开数据库文件代码  
                              /data           放置   access数据库文件   1.mdb  
   
  我在/cgi-bin目录里的用config.asp文件中写入以下代码  
  <%dim   conn  
  dim   dbpath  
        set   conn=server.createobject("adodb.connection")  
  dbpath   =   server.mappath("../data/db1.mdb")  
  conn.open   "driver={microsoft   access   driver   (*.mdb)};dbq="   &   dbpath   &";   pwd="  
                    %>  
  然后在index.asp文件中插入上面这个文件  
                    ...  
                    <!--#include   file="config.inc"   -->  
                    ...  
  在win2000服务器的iis   上运行没有问题  
   
  但是:如果在win2003的iis上运行就提示  
                    server.mappath()   错误   asp   0175   :   80004005    
                    不允许的   path   字符    
                    /szphototech/cgi-bin/config.inc,行   4    
                    在   mappath   的   path   参数中不允许字符   ..。    
   
  我必需将/data   目录放入/cgi-bin里面才行   ,然后将代码改为  
  dbpath   =   server.mappath("data/db1.mdb")  
  才能够被运行  
   
   
   
  请问这是为什么?难道一定要取绝对路径才行吗?  
   
 

· 网友精彩回答:

发表者:acheng

request.servervariables("appl_physical_path")   :   <%=request.servervariables("appl_physical_path")%><p>  
  request.servervariables("path_info")   :   <%=request.servervariables("path_info")%><p>  
  request.servervariables("script_name")   :   <%=request.servervariables("script_name")%><p>  
  request.servervariables("url")   :   <%=request.servervariables("url")%><p>  
  request.servervariables("path_translated")   :   <%=request.servervariables("path_translated")%><hr>  
  上面都是通过servervariables提取得出的值,下面就来运用mapath把一个虚拟地址转变为实际的物理地址。<p>  
  server.mappath(request.servervariables("url"))   :<%=server.mappath(request.servervariables("url"))%><p>  
  或者自己随便写个不存在的路径,同样能够执行<p>  
  server.mappath("cnbruce.asp")   :   <%=server.mappath("cnbruce.asp")%><p>  
  再来个“/”的<p>  
  server.mappath("/cnbruce.asp")   :   <%=server.mappath("/cnbruce.asp")%><br>  
  server.mappath("\cnbruce.asp")   :   <%=server.mappath("\cnbruce.asp")%><p>  
  你会发现物理地址转变到iis默认根目录下面了。  
  这就是如6to23之类的站点mappath的问题所在。还是虚拟主机好,即使是根,也还是自己站点的默认存放节点根。    
 

发表者:wangwm

win2003的要在配置中“启用父路径”

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved