在最近的一个WEB项目中,由于网站中没有注意路径问题,相对路径和绝对路径都使用了,结果把项目部署到IIS上的虚拟目录就出现问题了,部署成网站是没有问题的,结果还被别人说了,真是悲催啊,所以以后要多注意啊,尽量使用相对路径。
如果你在项目的根目录Images文件夹下面有一张图片test.jpg,那么当发布成网站的时候:http://127.0.0.1/Images/test.jpg便可以访问到,而发布到虚拟目录HX下面的时候,则上面的路径就错了,无法访问,在虚拟目录中应该是:http://127.0.0.1/HX/Images/test.jpg
string str = HttpContext.Current.Request.ApplicationPath;
if(str!="/")
{
//说明是以虚拟目录方式发布的
str=str+"/";
}
else
{
//以网站方式发布的
}