【发布时间】:2018-01-23 01:42:18
【问题描述】:
我正在将经典 asp 网站从运行旧 IIS 的 Windows 服务器迁移到使用 IIS7.5 并运行经典 asp 的 Windows2008-2 服务器。
这个新服务器没有启用父路径(他们不会打开它,而且我无法访问 IIS 控制面板 - 因为我正在与其他人共享服务器)。
因此,我只能尝试找到一种方法来重新编码用于使用相对路径到达姊妹目录的包含。
这是我的设置:
我使用他们的免费共享 ssl,这两个文件都需要安全访问(安全路径是:https://ssl5.ssllock.net/mysite.com/)
我有一个 .asp 文件位于:/SMPSECR/my-inc.asp
我有另一个 .asp 文件位于:/PBB/my-test.asp
在 my-test.asp 内部,我想包含 my-inc.asp
我曾经使用这种格式:#include file="../smpsecr/my-inc.asp",但是由于 IIS6 不再起作用(正如我之前提到的,父路径被自动禁用并且我的托管公司出于安全原因不会启用它,因为我在共享服务器上)。
我在某处读到您可以使用虚拟而不是文件,但即使这样对我也不起作用。
以下是我在 my-test.asp 中尝试过的 11 种不同的包含测试,但每一种都失败了:
<!--#include file="https://ssl5.ssllock.net/mysite.com/smpsecr/my-inc.asp"-->
<!--#include file="/smpsecr/my-inc.asp"-->
<!--#include file="smpsecr/my-inc.asp"-->
<!--#include virtual="/smpsecr/my-inc.asp"-->
<!--#include virtual="\smpsecr\my-inc.asp"-->
<!--#include virtual="smpsecr/my-inc.asp"-->
<!--#include virtual="smpsecr\my-inc.asp"-->
<!--#include file=\\n5200-2\iis7_www\f\s\mysite.com\www\smpsecr\my-inc.asp"-->
<!--#include virtual=\\n5200-2\iis7_www\f\s\mysite.com\www\smpsecr\my-inc.asp"-->
<!--#include file="//n5200-2/iis7_www/f/s/mysite.com/www/smpsecr/my-inc.asp"-->
<!--#include virtual="//n5200-2/iis7_www/f/s/mysite.com/www/smpsecr/my-inc.asp"-->
谁能给我另一种可以与我的设置一起使用的包含格式..即:尝试从不同的目录包含时(上一级然后下一级 - 换句话说,访问“姐妹”目录。从/PBB 到 /smpsecr)?
谢谢, SunnyOz
【问题讨论】:
-
<!--#include file="../smpsecr/my-inc.asp"-->有效吗? -
@statosdotcom,不,它不适用于禁用父路径。那是我在使用旧 IIS 的原始服务器上对其进行编码的原始方式。 IIS7.5(禁用父路径)将不允许您以 ../ 甚至只是 / 开始路径
-
对不起,你已经说过了。请原谅我。
-
不幸的是,访问“姐妹目录”的字面意思是 *Go To Up Level > Then > Find another children folder”。唯一可行的策略是将所有主要网站文件放在根目录下,然后将所有包含的文件放在子目录中......并明智地放置它们;)我过去已经能够做到这一点,但是比更聪明的向导更聪明是一件令人头疼的事情^^抱歉无法提供帮助更多。
-
感谢@AlexLaforge。我的想法是,我无法在我拥有的结构中做到这一点。我只是想澄清一下,在我走上更改 200 多个文件以解决此问题。 ;-)
标签: asp-classic include iis-7.5