最近在公司搞了一个新站,用的是VS2013,MVC5,开发过程比较顺利,但现在部署问题来了,搞的头好疼,之前一直做winform ,第一次搞一个正式的web项目经验不足,请各位朋友指教一二。
在开发机器上的IIS部署都没有问题,浏览也正常,但是到了 server 08 r2 + IIS 7.5 的环境部署之后,浏览的居然是目录。
IIS扩展已经添加,framwork 版本装的4.5.1,到底还有哪些问题是我忽略掉的呢?请告知,感激不尽!
补充下内容:
这个地方 经典和集成都试过了。
用2010创建了MVC3的,没有问题。用2012创建的MVC4不行。
项目是我发布到本地IIS,然后FTP到服务器上的。
文件夹加了netserver的权限。
还有什么是漏掉的呢?
iis建立站点的时候需要输入主机名
设置主机名,再配个hosts?这样也不行啊。
@醉低调: 博主你好,请问这个问题你最后是怎么解决的呢
关闭目录浏览
楼上正解,目录浏览-禁用
禁用目录浏览,就提示
HTTP 错误 403.14 - Forbidden
Web 服务器被配置为不列出此目录的内容。
依然不行的,感觉跟目录禁用没什么太大关系。
在web.config中加上如下的配置:
<system.webServer> <modules runAllManagedModulesForAllRequests="true" /> </system.webServer>
还是不行呀。
@醉低调: 看一下Handler Mappings:
这个帮我解决了
处理程序映射中没弄对,再重新安装下IIS就好了。
添加默认文档试试
已经一年了到底解决没有!有问题知道来问,之后解决了不能来说下吗?!
如果以上的东西都配置好的话,应该是.netFramework设置成集成的就行了
博主你好,我也遇到了同样的问题,请问你是怎么解决的。
卸载IIS,重新安装,重新添加下映射就OK了。
@醉低调: 楼主,也遇到这个问题了,只是重新安装IIS?重新添加映射是指?
谢谢!
哥试验过了,打上 R2_SP1_(win7或window 2008r2安装vs2013前需要打的补丁) 即7601.17514.101119-1850_Update_Sp_Wave1-GRMSP1.1_DVD就好了!
在window server 2008 r2上如果想部署mvc5还不想安装vs2013就必须打上这个补丁,然后mvc的站点就可以了,不需要重新安装操作系统
我的是腾讯云的windows server 2012 r2,装了vs2015,在iis8.5上部署也是遇到这个问题。网上的方案都试过了,无解。
求详细告知,谢谢!
@哓晨: 你首选确认下,用vs2015直接跑这个mvc的程序是否可以跑,如果可以就说该服务器的.net framework环境没有问题?如果不能跑就说明你站点本身有问题,
你检查一下你的iis指向的站点目录对不对,这个最主要的,要指到view对应的文件夹试一下,
再有就是要创建独立站点不要采用虚拟目录或默认站点下创建应用程序的方式,
新建的产点注意32位兼容,一般就几个问题,
最后注意配置字的数据链接字符串搞对就ok了了,mvc比较垃圾不管什么错,都会报相同的错误!最后还有一个细节,你首先要仔细确认一下你的mvc程序到底用到的mvc 版本的dll 再有针对解决,如果不是mvc5就要别的解决方法,最后希望能帮到你!
@荷叶: 十分感谢,问题已经找到,是因为在windows server 2012在安装IIS时,未勾选【应用程序开发】选项,导致出错。
@哓晨: 您好,请问下你IIS指向的是wwwroot 还是views 目录,分别是怎么设置,index.cshtml怎么访问,本人菜鸟第一次配置不懂,请大神赐教。
@屌丝界的小渣渣: 首先你得确定你的iis安装正确,可参考【http://jingyan.baidu.com/article/90895e0ffb5c1764ec6b0bbb.html】
如果是单纯的发布mvc,不需要指向目录,mvc路由机制自己会找到目录。
@哓晨: 额,我自己用vs2015新建了一个mvc6的网站,服务器上的IIS7.0,难道部署的话 7.0不可以吗?
@屌丝界的小渣渣: MVC6……估计只支持 IIS 8.5及以上吧…… IIS 7.0 的时候 MVC5都还没出来吧……
通过“发布”功能发布后上传试试,直接从bin目录拷文件到服务器会有这个问题。