【问题标题】:How to implement Umbraco 7.x website as a virtual directory in IIS 7.5?如何在 IIS 7.5 中将 Umbraco 7.x 网站实现为虚拟目录?
【发布时间】:2017-01-12 06:39:30
【问题描述】:

我有一个使用 Umbraco 7.3 开发的网站,如果我在 IIS 7.5 下安装为网站,它可以完美运行,没有任何问题,问题从我开始想用作虚拟目录

问题:

  1. 图片未加载到网站中(未找到 404)
  2. .CSS 文件出现 404 错误
  3. .JS 文件出现 404 错误

我能够使用以下方法解决第二个和第三个问题:

  • 在 Config 文件夹的 umbracoSettings.config 文件中的 <content> 下添加 <ResolveUrlsFromTextString>true</ResolveUrlsFromTextString>
  • 我已经更新了 "/js/*" to "~/js/*""/css/*" to "~/css/*" 的所有 JS 和 CSS 路径。

但图像的第一个问题我仍然无法解决,我们将不胜感激。

【问题讨论】:

    标签: iis iis-7 umbraco umbraco7


    【解决方案1】:

    经过大量搜索,我终于可以毫无问题地让它工作,以下是我将 Umbraco 7.x 网站实现为虚拟目录的步骤:

    1. 打开Config文件夹中的umbracoSettings.config文件,并在<content>标签之间插入此代码<ResolveUrlsFromTextString>true</ResolveUrlsFromTextString>
    2. "/js/*" to "~/js/*""/css/*" to "~/css/*" 更新您用作主模板的主模板中的所有JS 和CSS 路径,还将runat="server" 属性添加到<head> 标记或每个.CSS 链接中像这个例子的标题:<link href="~/Css/main.css" rel="stylesheet" type="text/css" runat="server"/> 像图片:

    1. 最后,这是最重要的一点,修复图像链接或媒体文件夹,为此打开 SQL 服务器并在 Umbraco DBUPDATE cmsPropertyData set dataNvarchar = replace(dataNvarchar, '/media/','/replaceWithvirDirNameHer/media/') where dataNvarchar like '/media/%' 中运行以下查询,不要忘记更改 replaceWithvirDirNameHer 使用实际的虚拟目录名称。
    2. 重启 IIS 并重新发布整个网站,如图所示:

    重要提示:

    有些链接可能没有反映变化,这是由于它的路径是固定的,所以我们也需要这样做,不要忘记,比如图像:

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您内容中的任何现有图像都将具有适合您本地非虚拟目录路径的路径。但是,如果您从虚拟目录添加图像,它应该可以工作吗?

      原因是路径是直接在 HTML 中设置的,我猜。这里可能有脚本可以更新所有图片路径:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/59666-Umbraco-7-in-virtual-directory

      【讨论】:

      • 非常感谢@Jannik Anker,我已经尝试过这个解决方案,但它并没有被我的案子唤醒。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 2011-02-22
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多