Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IIS7上Angular 7应用程序中的500(URL重写模块错误)_Angular_Windows_Macos_Iis_Url Rewriting - Fatal编程技术网

IIS7上Angular 7应用程序中的500(URL重写模块错误)

IIS7上Angular 7应用程序中的500(URL重写模块错误),angular,windows,macos,iis,url-rewriting,Angular,Windows,Macos,Iis,Url Rewriting,我有一个Angular 7应用程序,我托管在IIS 7上,应该可以在上访问它。这是工作,然后突然停止-原因我似乎无法理解。服务器上的URL重写似乎可以正常工作(用于重定向同一服务器上的其他站点),但对于这个特定的应用程序来说,URL重写失败了 我已经为IIS7安装了URL重写模块2。我还使用--base ref构建了angular应用程序,并且已经使用了web.config代码,如下所示。我还构建了一个本地版本的应用程序,它可以在运行AMPS的macbook上完美运行,消除了应用程序本身的任何问

我有一个Angular 7应用程序,我托管在IIS 7上,应该可以在上访问它。这是工作,然后突然停止-原因我似乎无法理解。服务器上的URL重写似乎可以正常工作(用于重定向同一服务器上的其他站点),但对于这个特定的应用程序来说,URL重写失败了

我已经为IIS7安装了URL重写模块2。我还使用--base ref构建了angular应用程序,并且已经使用了web.config代码,如下所示。我还构建了一个本地版本的应用程序,它可以在运行AMPS的macbook上完美运行,消除了应用程序本身的任何问题。这看起来像是服务器问题

web.config:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Angular Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/fitcbooks/web/index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

index.html:

<base href="/fitcbooks/web/">

目前,应用程序的预加载程序只是永久加载。控制台显示几个500(URL重写模块错误)错误。请帮忙。

终于解决了这个问题

问题是在mac上压缩的文件的自动加密。上周由于iOS的发展,我刚从Windows切换到Mac,所以我对这一点还不熟悉

我能够通过在IIS中使用失败的请求跟踪规则阅读500 HTTP错误的详细信息来理解这一点(感谢@LexLi提供的Fiddler技巧)。我观察了日志,发现具体错误是500:50。还发现
ErrorCode访问被拒绝。(0x80070005)
,这让我意识到它与访问文件有关。经过一些在线挖掘,我找到了这个论坛帖子(),安装了进程监控程序,很明显,服务器无法访问应用程序的文件

应用程序中的文件夹有绿色标签,所以我意识到它们是加密的。我在没有加密的情况下重新上传了文件,就这样-应用程序正在运行!所以我了解到,在mac电脑上压缩的文件可能会给windows带来问题


把它放在这里,以防它对其他人有帮助。

使用Fiddler之类的工具抓取完整的500错误页面,然后看看上面写了什么。谢谢@LexLi的提示。我安装了Fiddler,但没有真正阅读HTTPS 500的详细信息。最终使用IIS的失败请求跟踪规则来设置日志,我后来检查了这些日志。你的评论帮我指明了方向。你也会很喜欢Wireshark的。