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新建网站也没问题 --------------------编程问答-------------------- 崩溃,我也遇到这个问题,居然没有人解决? --------------------编程问答--------------------
嗯. --------------------编程问答-------------------- 其实根本的解决办法不是把网站放到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