在VS2008里面可以很好的运行(使用文件系统),但是当一个项目发布出来以后(选择的选项是仅限运行此应用程序的文件即使选择所有的源文件也无法正常运行),IIS虚拟路径配置好以后,登陆页面的的图片无法显示,验证码也无法显示(验证码是通过另一个页面嵌入到登陆页面上的),再者主页上的样式全部都乱了,所有的超链接也失效了。我想应该是路径的问题,但不知道如何解决,父路径的选项也启用了。

解决方案 »

  1.   

    虚拟路径的网址是这样:http://localhost/根目录/....
    所以如果使用虚拟路径的话,文件中的链接都要改成相对路径(如:aa/test.jpg),或者都加上根目录名称(/根目录/aa/test.jpg)
      

  2.   

    估计楼主对文件的路径启用的是物理路径,请用相对路径,就是1楼说的方法,如'../images/test.jpg','image/test.jpg'等
      

  3.   

    选择网站发布,包含样式和文件夹,在IIS里配置为虚拟目录
      

  4.   

    我现在的项目是一个二次开发的了,Admin 文件夹下有login.aspx等以及images的文件夹(但是他是呈现白色的应该被发布过的因此直接选择scr的时候不能选择这里面的图片),login.aspx中引用images里面的图片 <img src="images/login.gif"/>这样在VS下可以正常显示,发布以后就不行了,改成src="../images/login.gif" 或者src="/images/login.gif" VS下就无法显示了,改成src="../Admin/images/login.gif" VS下可以显示,发布出来就不行了,到底该怎样呢
      

  5.   

    如果路径没有错误,则是权限问题权限问题
    这种情况常见的现象是登录之前样式无效,登录之后才有效,这是典型的权限问题造成的。由于web.config配置了所有文件不允许匿名访问,才会出现这样的问题,解决方法就是将<location>标记将样式文件配置为允许匿名访问。例如:<configuration>
       <location path="允许匿名访问的文件夹名称或者文件路径">
          <system.web>
             <authorization>
                <allow users="?"/>
             </authorization>
          </system.web>
       </location>
    </configuration>
      

  6.   

    请用ResolveUrl来处理一下:<img src='<%=ResolveUrl("~/ValidateCode.aspx") %>'更详细的参考:
    http://www.cnblogs.com/insus/articles/1425377.html
      

  7.   

    你有没有添加iisapi的扩展啊,要是不添加扩展的话IIS是不认识的,
      

  8.   

    用相对路径,再看下iis里面的设置,有没有启用父路径