我有一个MVC网络应用程序,我的views \文件夹中的网址如下:
<img src="../../Images/Delete.png"/>
正在我的localhost上工作,但当我在生产服务器上部署应用程序时,他们停止工作,当我使用单个“..”而不是双“../ ..”时,他们开始在生产服务器上工作。
为什么会这样?
答案 0 :(得分:2)
这种情况正在发生,因为您可能在生产服务器中有一个虚拟目录,而不是在localhost上。所以始终在处理网址时使用网址助手,而不是像在示例中那样硬编码:
<img src="<%= Url.Content("~/Images/Delete.png") %>" />
您只能在CSS文件中使用相对路径(例如,对于背景图像)。内部CSS文件路径是相对于CSS的位置,但是CSS本身的包含当然应该使用帮助程序来完成:
<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
答案 1 :(得分:1)
生产服务器上映像目录的相对路径必须不同。
您需要确保在开发服务器上的目录布局与生产服务器上的相同。