Azure AngularJS Index.html

时间:2015-09-14 22:57:02

标签: angularjs azure url-rewriting

我的AngularJS应用程序需要将所有操作重定向到index.html进行处理,并且它在localhost上运行正常,但它在Azure中不起作用。 例如:

localhost:1234 - > localhost:1234 /#/ works

myapp.com - > myapp.com/#/不起作用

myapp.com/index.html - > myapp.com/index.html#/正常工作

我补充说:

<system.webServer xdt:Transform="Replace">
<rewrite>
  <rules>
    <rule name="redirect all requests" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
      </conditions>
      <action type="Rewrite" url="index.html" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>
</system.webServer>

奇怪的是,这有时会起作用。我不能为我的生活弄清楚为什么有时会去myapp.com - &gt; myapp.com/#/工作,有时则不工作。它似乎也打破了myapp.com/index.html#/但有时只是。这不会进行任何部署更改。它的工作时间大约只有一半。

修改

以下是实际的错误消息:

  

Microsoft.Owin,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

1 个答案:

答案 0 :(得分:0)

它可能与应用程序启动有关。以下是一些故障排除方法。

重新启动您的应用。这是否可靠地导致错误?

启用应用程序日志记录。 portal.azure.com&gt;浏览全部&gt;网站名称&gt;设置&gt;诊断日志&gt;应用程序记录&gt;等级错误。如果您需要大量内容,请将level设置为verbose并打开Web服务器日志记录,详细错误消息和失败的请求跟踪。

在服务控制管理器上查看诊断 mysite.scm.azurewebsites.net。选择调试控制台&gt;电源外壳。现在,您可以查看bin的日志。

根据您收到的错误,看起来Owin就是问题所在。检查您的网站cd site/wwwroot/bin Get-ChildItem -filter *Owin* ,看看是否有任何Owin参考。在线服务控制管理器,您可以尝试:

--volumes-from

如果那里有任何东西,那么它可能是您收到的特定错误的原因。

Online Service Control Manager - Get-ChildItem with Filter