• 您当前位置:网站首页 >> ASP技术 >> ASP不能用 '..' 表示父目录解决办法
  • ASP不能用 '..' 表示父目录解决办法

    iCoA首席特工 逍遥峡谷 发布:2011-05-15 更新:2021-11-24 浏览3条评论
    内容简介

    ASP不能用 '..' 表示父目录的提示一般出现在Windows2003架设的IIS上,是因为2003鉴于安全的原因不推荐使用父目录。这时候有两种解决方法,一种是设置一下IIS,另一种是用另外一种方式来引用文件。

    相关关键词:父目录   IIS   ASP  

    本文链接:https://www.icoa.cn/a/489.html

    本站文章如非注明皆为原创,未经允许禁止转载。如有问题可以给我留言或发邮件。

    ASP不能用 '..' 表示父目录的提示一般出现在Windows2003架设的IIS上,因为鉴于安全的原因,IIS6不推荐使用父目录。

    一般ASP使用父目录的文件,比如conn.asp,一般是用下面的代码:

    <!--#include file="../conn.asp"-->

    很明显IIS6现在的设置不允许这样引用,解决办法有两个:。

    第一、如果拥有服务器的控制权的话,那么就可以自己设置IIS,打开Internet 信息服务(IIS)管理器→网站站点→属性→主目录选项卡→配置→选项,选上"启用父路径"的复选框即可。


    如果没有服务器的控制权,可以联系服务器提供商让他们修改。

    第二、有时候我们既没有服务器的控制权,有没法联系服务器提供商来修改允许父目录,那怎么办呢?

    其实还有一种代码是不受父目录的限制的,那就是:

    <!--#include virtual="../conn.asp"-->

    很明显可以看出virtual就是虚拟的意思,这个代码就是使用虚拟路径。

    附两种#include的用法:

    html中#include file的用法 

    参数 PathType 

    将 FileName 的路径类型。路径可为以下某种类型: 

    路径类型 含义 
    文件 该文件名是带有 #include 命令的文档所在目录的相对路径。被包含文件可位于相同目录或子目录中;但它不能处于带有 #include 命令的页的上层目录中。 
    虚拟 文件名为 Web 站点上虚拟目录的完整虚拟路径。 

    FileName 

    指定要包含的文件名。FileName 必须包含文件名扩展,而且必须将文件名用引号 (") 引起来。 

    注释 
    包 含 #include 命令的文件必须使用映射到 SSI 解释器的文件扩展名;否则,Web 服务器将不处理该命令。默认情况下,扩展名 .stm、.shtm 和 .shtml 将映射到解释器 (Ssinc.dll)。如果安装了 Internet 服务管理器,则可以修改默认扩展映射并添加新的映射。请参阅设置应用程序映射。被包含的文件可具有任何文件扩展名,但建议赋予它们 .inc 扩展名。 

    示例 

    <!--被包含文件与父文件存在于相同目录中。 --> 
    <!-- #include file = "myfile.inc" --> 
    <!--被包含文件位于脚本虚拟目录中。 --> 
    <!-- #include virtual = "/scripts/tools/global.inc" -->

    include file 与include virtual的区别 

    1.#include file 包含文件的相对路径,#include virtual包含文件的虚拟路径。

    2. 在同一个虚拟目录内,<!--#include file="file.asp"-->和<!--#include virtual="file.asp"-->效果是相同的,但假设虚拟目录名为myweb,则<!--#include virtual="myweb/file.asp"-->也可以通过调试,但我们知道<!--#include file="myweb/file.asp"-->是绝对要报错的。 

    3.如果一个站点下有2个虚拟目录myweb1和 myweb2,myweb1下有文件file1.asp,myweb2下有文件file2.asp,如果file1.asp要调用file2.asp,那 么在file1.asp中要这样写:<!--#include virtual="myweb2/file2.asp"-->,在这种情况下用#include file是无法实现的,用<!--#include file="myweb2/file2.asp"-->必然报错。相反,在myweb2的文件中包含myweb1中的文件也是一样。如果该被包含文 件在某个文件夹下面,只要在虚拟路径中加上该文件夹即可。 

    4.不论用#include file 还是 #include virtual,在路径中用“/”还是“\”或者二者交叉使用都不会影响编译效果,程序会顺利执行。 

    5.以上情况不适用于2个站点文件的相互调用,而且在同一个站点内,<!--#include file="file.asp"-->和<!--#include virtual="file.asp"-->等效,但假设站点名为website,使用<!--#include virtual="website/file.asp"-->是错误的。


    本文链接:https://www.icoa.cn/a/489.html
    关键词: 父目录   IIS   ASP  


    如果您愿意支持本站,欢迎点击打赏哦~



    下一篇:ASP用replace()替换字符串的用法

    上一篇:网址URL代码(urlcode)用ASP编码与解码的方法


    - 相关文章 -


    XP安装IIS5.1提示HTTP 500 内部服务器错误打不开ASP - 2010-01-08

    【ASP学习之一】循序渐进学留言薄 - 2009-11-23

    301重定向ASP代码 ASP的301重定向代码 - 2010-11-24

    An error occurred on the server ASP出错无法显示 - 2010-11-10

    ASP错误代码表及原因 - 2009-08-04

    ASP利用FSO打造最简单的访问计数器 - 2010-10-11

    Win7 IIS7.5 设置步骤详解 成功运行ASP - 2010-10-03

    isNull、isEmpty和""空字符串的区别 - 2011-08-18


    - 文章评论 -




    8653

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[3条评论] -


    gdfgdf
    2013-06-17 14:18:59

    IIS起用父目录,好人啊

    fdgd
    2013-06-17 14:17:46

    回答好啊,好人啊,

    J on
    2012-05-13 21:03:28

    父目录

    [>>>点击查看更多评论]

    版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 | 逍遥峡谷 · 酷品优选
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合

    冀公网安备13011102001055号 · 冀ICP备06033848号