当前位置:编程学习 > C#/ASP.NET >>

MVC配IIS5.1相对路径的问题!

衣带渐宽快崩溃,冰天雪地跪地求!仅有30全献上,只求一解好入睡!

MVC框架下开发滴网站,在VS下编译通过,没有问题!
放到IIS下后,网站的虚拟路径就有问题了!

假设iis虚拟路径设的是MyWeb,

在VS环境下,带端口号的URL:http://localhost:2520/       显示正确
            下级链接URL:http://localhost:2520/aa.aspx  显示正确

IIS环境下,首页能显示:http://localhost/MyWeb           显示正确
          
应该下级链接URL:http://localhost/MyWeb/aa.aspx 
但总是跑到:    http://localhost/aa.aspx 

如果IIS的虚拟目录选项卡下的开始位置能够修改,也许问题就没了,但iis5.1只有一个默认网站,所以起始位置一定是 http://localhost/虚拟路径 ,例如:http://localhost/MyWeb/

所以只能修改MVC中的内容,望有类似经验的达人给予帮助!
                
       
--------------------编程问答-------------------- 自己回收了!

我把网站放到根目录下了,而不是以虚拟路径存在默认网站下了,
就不用出现http://localhost/MyWeb ,
直接http://localhost/  就能访问了,问题也就解决了!

--------------------编程问答-------------------- 嗯,xp的iis要放到跟目录下,虚拟目录会多一层路径,放到服务器上用iis新建网站也没问题 --------------------编程问答-------------------- 崩溃,我也遇到这个问题,居然没有人解决? --------------------编程问答--------------------
引用 1 楼 machaoyayiyaho 的回复:
自己回收了!

我把网站放到根目录下了,而不是以虚拟路径存在默认网站下了,
就不用出现http://localhost/MyWeb ,
直接http://localhost/ 就能访问了,问题也就解决了!

嗯. --------------------编程问答-------------------- 其实根本的解决办法不是把网站放到iis的根目录,而是通过程序控制好.
譬如mvc,引入css或js时,就不要通过单纯的"/js/xxx.js"来引入,而是
<script type="text/javascript" src="<%=ResolveUrl("~/js/xxx.js")%>"></script>,
另外页面中ajax调用后台时,也要注意地址变换,通常我是用<%=Url.Action(xxx)%>来保证地址是无误的. --------------------编程问答-------------------- ResolveUrl其实就是Url.Content()
--------------------编程问答-------------------- LZ文采不错!

要根据不同的环境显示正确的路径,估计只能在用程序来调整了,可以用JS来调整。 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,