如何在 IIS 7.5 中将 Umbraco 7.x 网站实现为虚拟目录?
How to implement Umbraco 7.x website as a virtual directory in IIS 7.5?
我有一个使用 Umbraco 7.3 开发的网站,如果我在 IIS 7.5 下作为网站安装,它可以完美运行,没有任何问题, 当我想用作虚拟目录时出现问题。
问题:
- 图像未加载到网站中(404 未找到)
- .CSS 个文件的
- 404 错误
- .JS 文件的 404 错误
我能够使用以下方法解决第二个和第三个问题:
- 在Config文件夹的umbracoSettings.config文件的
<content>
下添加<ResolveUrlsFromTextString>true</ResolveUrlsFromTextString>
- 我已经更新了
"/js/*" to "~/js/*"
和 "/css/*" to "~/css/*"
的所有 JS 和 CSS 路径。
但是图片的第一个问题我还是没有解决,任何帮助将不胜感激。
您内容中的任何现有图像都将具有适合您本地 non-virtual 目录路径的路径。但是如果你从虚拟目录添加图像它应该工作?
原因是路径直接设置在HTML,我猜。这里可能有一个脚本来更新所有图片路径:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/59666-Umbraco-7-in-virtual-directory
经过大量搜索,我终于能够毫无问题地使用它,以下是我将 Umbraco 7.x 网站实现为虚拟目录的步骤:
- 打开 umbracoSettings.config 文件 Config 文件夹 并在 [=] 之间插入此代码
<ResolveUrlsFromTextString>true</ResolveUrlsFromTextString>
11=]标签。
- 更新您用作主模板的主模板中的所有 JS 和 CSS 路径
"/js/*" to "~/js/*"
& "/css/*" to "~/css/*"
还将 runat="server"
属性添加到<head>
标签或 header 中的每个 .CSS link 喜欢这个例子:<link href="~/Css/main.css" rel="stylesheet" type="text/css" runat="server"/>
喜欢图像:
- 最后,这是最重要的一点,修复图像 links 或 Media 文件夹,为此打开 SQL 服务器和 运行 Umbraco 中的以下查询DB
UPDATE cmsPropertyData set dataNvarchar = replace(dataNvarchar, '/media/','/replaceWithvirDirNameHer/media/')
where dataNvarchar like '/media/%'
并且不要忘记将 replaceWithvirDirNameHer 更改为实际的虚拟目录名称。
重新启动 IIS 并重新发布整个站点,如图所示:
重要提示:
有些link可能没有反映出变化,这是因为它的路径是固定的,所以我们也要做,不要忘记,如图:
希望对您有所帮助。
我有一个使用 Umbraco 7.3 开发的网站,如果我在 IIS 7.5 下作为网站安装,它可以完美运行,没有任何问题, 当我想用作虚拟目录时出现问题。
问题:
- 图像未加载到网站中(404 未找到)
- .CSS 个文件的
- 404 错误
- .JS 文件的 404 错误
我能够使用以下方法解决第二个和第三个问题:
- 在Config文件夹的umbracoSettings.config文件的
<content>
下添加<ResolveUrlsFromTextString>true</ResolveUrlsFromTextString>
- 我已经更新了
"/js/*" to "~/js/*"
和"/css/*" to "~/css/*"
的所有 JS 和 CSS 路径。
但是图片的第一个问题我还是没有解决,任何帮助将不胜感激。
您内容中的任何现有图像都将具有适合您本地 non-virtual 目录路径的路径。但是如果你从虚拟目录添加图像它应该工作?
原因是路径直接设置在HTML,我猜。这里可能有一个脚本来更新所有图片路径:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/59666-Umbraco-7-in-virtual-directory
经过大量搜索,我终于能够毫无问题地使用它,以下是我将 Umbraco 7.x 网站实现为虚拟目录的步骤:
- 打开 umbracoSettings.config 文件 Config 文件夹 并在 [=] 之间插入此代码
<ResolveUrlsFromTextString>true</ResolveUrlsFromTextString>
11=]标签。 - 更新您用作主模板的主模板中的所有 JS 和 CSS 路径
"/js/*" to "~/js/*"
&"/css/*" to "~/css/*"
还将runat="server"
属性添加到<head>
标签或 header 中的每个 .CSS link 喜欢这个例子:<link href="~/Css/main.css" rel="stylesheet" type="text/css" runat="server"/>
喜欢图像:
- 最后,这是最重要的一点,修复图像 links 或 Media 文件夹,为此打开 SQL 服务器和 运行 Umbraco 中的以下查询DB
UPDATE cmsPropertyData set dataNvarchar = replace(dataNvarchar, '/media/','/replaceWithvirDirNameHer/media/') where dataNvarchar like '/media/%'
并且不要忘记将 replaceWithvirDirNameHer 更改为实际的虚拟目录名称。 重新启动 IIS 并重新发布整个站点,如图所示:
重要提示:
有些link可能没有反映出变化,这是因为它的路径是固定的,所以我们也要做,不要忘记,如图:
希望对您有所帮助。