我有一个在IIS中作为子网运行的ASP.NET MVC Web应用程序;让我们说它的路径类似于http://mysite.com/subweb。
我有一个视图,提供从CMS获得的内容。 CMS编辑器输入了一些内容,其中包含相对图像路径< img src =“/ images / imga.png”/&gt ;.
这在站点是根网站的生产服务器上工作正常,但在站点是根网站下的虚拟目录的登台服务器上不能正常工作
路径应为< 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和生产之间发生变化)。
答案 0 :(得分:2)
尝试
<img src="images/imga.png" />
使其成为相对网址。当然,这并不容易,必须更改内容编辑器。但我相信这就是问题所在。以/
开头的网址是从...(想知道)域名的顶级目录中解析出来的?
答案 1 :(得分:1)
基本标记仅影响相对URL。尝试将图片代码更改为:
<img runat="server" src="~/images/imga.png" />
这甚至可以在您的应用的子目录中使用。 .Net将解析“〜/”到您的应用程序根目录。