【问题标题】:Umbraco surface controller does not workUmbraco 表面控制器不工作
【发布时间】:2017-06-20 07:49:16
【问题描述】:

我有一个网站,它在我的本地计算机上运行良好。

然后我上传到服务器上测试,但是我用AJAX调用的表面控制器无法路由,返回404状态。

我的服务器是Windows Server 2016 Datacenter,IIS版本是10。

我的电脑是 Windows 10.....

谢谢~

【问题讨论】:

  • 你能显示代码吗?您是否使用正确的域调用它?

标签: routing umbraco


【解决方案1】:

我找到了解决方案,但答案有点奇怪。 首先,我试过了:

  • 将我的控制器命名空间从 [UmbracoProjectname].Controllers 重命名为 Controllers(见 SO 另一篇文章)

  • 使 web.config 在生产环境中与其工作的本地服务器相同

  • 使用我的控制器路径更新 umbracoReservedPaths

  • 我现在忘记了很多其他东西

解决办法是这样的:

而不是调用

https://domain.tld/umbraco/Surface/CustomSurface/test

我是这样称呼它的:

https://domain.tld//umbraco/Surface/CustomSurface/test

(注意域后的两个斜杠)

所以我猜这是一些路由问题,我用这种方式解决了它。希望它会帮助别人。

【讨论】:

    【解决方案2】:

    您的实时(服务器)站点是否可能具有不同的根 URL? 也许您的本地是http://localhost/controller,但您上传的实时站点可能是http://www.myserver.com/myapp/controller

    在这种情况下,您需要检查您是否使用 /controller 引用 URL - 您可能需要引入一个设置来指示您网站的根 URL(然后您可以为每个环境设置不同的设置值)。

    【讨论】:

    • 我和 Mark 有同样的问题,但我和本地的 root 相同。它没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多