我有一个网站,它在我的本地计算机上运行良好。
然后我将它上传到服务器上进行测试,但我用AJAX调用的表面控制器无法路由,并返回404状态。
我的服务器是Windows Server 2016 Datacenter,IIS版本是10。
我的电脑是Windows 10 .....
谢谢〜
答案 0 :(得分:1)
您的实时(服务器)站点是否可能具有不同的根URL? 也许您的本地网站是http://localhost/controller,但您上传的实际网站可能是http://www.myserver.com/ myapp / controller
在这种情况下,您需要检查是否使用/ controller引用了URL - 您可能需要引入一个设置来指示站点的根URL(然后您为每个环境设置不同的设置值) )。
答案 1 :(得分:0)
我找到了解决方案,答案有点古怪。 首先,我试过了:
将我的控制器名称空间从[UmbracoProjectname] .Controllers重命名为Controllers(如另一篇文章所示)
使web.config在生产中与在其工作的本地服务器中相同
使用我的控制器路径更新umbracoReservedPaths
目前我忘记了很多其他的东西
解决方案是:
而不是打电话
https://domain.tld/umbraco/Surface/CustomSurface/test
我这样打电话:
https://domain.tld//umbraco/Surface/CustomSurface/test
(注意域后的两个斜杠)
所以我猜这是一些路由问题,我用这种方式修复了它。希望它会帮助别人。