【问题标题】:Relative paths not resolved in IIS5 same as IIS6在 IIS5 中未解析的相对路径与 IIS6 相同
【发布时间】:2010-12-02 03:28:50
【问题描述】:

我有一个 C# 网站,该网站在公司 Intranet 上的 IIS6 和 IIS7 中运行良好,但现在我尝试在具有 IIS5 的 Windows XP 机器上为公司 Intranet 的不同部分安装相同的网站。网站内容很好,但 css 和菜单都坏了,因为一些相对路径找不到。

我正在使用这样的符号:<img src="Images/a.gif" 可以正常工作,有些像这样:MasterPageFile="~/App_MasterPages/Default.master" 也可以正常工作,但是像这样的东西:@import "/App_Themes/Default.css" 和这个:src="../App_Scripts/stringformat.js" 不好。在代码隐藏中Request.ApplicationPath 也缺少末尾的“/”。

我尝试在 IIS 中取消勾选“启用父路径”并执行 iisreset,但没有任何区别。我也尝试安装 IIS Developer Express,但那太令人困惑和太糟糕了。我不想为了支持 IIS5 格式而遍历整个应用程序并更改每个相对路径,但这是我唯一的选择吗? (除了升级 Windows)

【问题讨论】:

    标签: iis-6 windows-xp relative-path iis-5


    【解决方案1】:

    我怀疑在 IIS6 和 7 上,有问题的应用程序正在部署到站点根目录中,而在 XP/IIS5.1 上,您已将其部署到作为 IIS 应用程序运行的子文件夹中。

    你有两个选择:

    1. 将站点部署到 IIS5.1 根目录 (c:\inetpub\wwwroot)。

    2. 修复绝对路径并使它们与应用程序相对,即@import /App_Themes。

    3. 坚持使用 IIS Developer Express,没那么糟糕。

    【讨论】:

    • 两个站点都部署到inetpub\wwwroot,所以这不是问题。我也不那么热衷于第 2 点,因为有很多要更新的链接,并且可能会为 IIS6/7 破坏它? IIS Express 难以理解,我看不出如何以通常的方式运行网站。我有很多问题没有得到微软文档的回答。例如,我是否必须卸载 IIS5?
    • @jumpingjezza - 你说“两个网站”?您能否更新您的答案,让我们了解您的文件夹结构?
    • 两个站点是指同一个网站设置在不同内网的不同服务器上
    • 没有人想出更好的主意,所以我会标记你正确的第 2 点:查找并修复所有路径引用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2015-12-26
    • 2017-12-15
    相关资源
    最近更新 更多