我在 ASP.Net 3.5 中开发了一个网站。当我在主机上使用 Visual Studio 编译它时,网站显示正确!但是当我将网站发布到主机的网站托管文件夹时,在 IE 中键入导航到该网站,它会以这种方式显示:
- 图像不显示
- 无法识别字体
有谁知道可能是什么问题?!
我的意思是同一台主机!相同的 IE(版本 8)!在那台机器上用 Visual Studio 2008 编译它,一切都很好,但是当通过在 IE 中键入 URL 来调用同一主机上的已发布站点时,图像不显示并且字体无法识别。
我在 ASP.Net 3.5 中开发了一个网站。当我在主机上使用 Visual Studio 编译它时,网站显示正确!但是当我将网站发布到主机的网站托管文件夹时,在 IE 中键入导航到该网站,它会以这种方式显示:
有谁知道可能是什么问题?!
我的意思是同一台主机!相同的 IE(版本 8)!在那台机器上用 Visual Studio 2008 编译它,一切都很好,但是当通过在 IE 中键入 URL 来调用同一主机上的已发布站点时,图像不显示并且字体无法识别。
未显示的图像/字体表明您的相对路径已关闭。造成这种情况的一个常见原因是在部署时忘记创建 IIS 应用程序。如果您不创建应用程序,则图像路径编写如下:
~/content/images/img1.jpg
将被打破。(他们将解析为mydomain.com/content/images/img1.jpg而不是mydomain.com/myapplication/content/images/img1.jpg。)
另一种可能性是您的相对路径是这样写的:
/content/images/img1.jpg
如果您部署到域中的任何子路径,这种类型的链接将始终被破坏。即,如果您部署到mydomain.com,那么链接会很好,但是如果您部署到mydomain.com/myapplication,那么像上面这样编写的 URL 将错误地解析为mydomain.com/content/images/img1.jpg。