0

我有一个在 IIS 中作为子网站运行的 ASP.NET MVC Web 应用程序;假设它的路径类似于http://mysite.com/subweb

我有一个视图,它提供从 CMS 获得的内容。CMS 编辑器输入了一些包含相对图像路径 <img src="/images/imga.png" /> 的内容。

这在站点是根网站的生产服务器上工作正常,但在站点是根网站下的虚拟目录的登台服务器上不起作用

路径应该是生产服务器上的 <img src="/images/imga.png" />

和 <img src="/subweb/images/imga.png" /> 在登台服务器上。

是否可以使用 <base> 标记来解析此图像路径?


<head>
<base href="http://mysite.com/subweb/" />
</head>

<html>
  <body>
    <img src="/images/imga.png" />
  </body>
</html>


它似乎不起作用。谁能解释为什么或如果这是一种可行的方法?我不想要求内容编辑器了解网站部署选项(在 UAT 和生产之间发生变化)。

4

2 回答 2

2

尝试

   <img src="images/imga.png" />

使其成为相对 URL。当然没那么容易,内容编辑器必须改。但我相信这就是问题所在。以 a 开头的 URL是从...(奇迹)域的顶级目录/解析的?

于 2010-06-16T15:54:43.703 回答
1

基本标记仅影响相对 URL。尝试将您的图像标签更改为:

<img runat="server" src="~/images/imga.png" />

这甚至可以在您的应用程序的子目录中使用。.Net 会将“~/”解析为您的应用程序根目录。

于 2010-06-16T15:56:01.817 回答