500(URL 重写模块错误。)文件存在

500 (URL Rewrite Module Error.) with file that exists

这是重写规则:

 <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>    

以下两个文件都存在。一个 GET 成功,另一个抛出 500。

200

GET http://greenearth.game/node_modules/aurelia-leaflet/dist/amd/leaflet.js

500(URL 重写模块错误。)

GET http://greenearth.game/node_modules/aurelia-open-id-connect/dist/amd/open-id-connect-role-filter.js 

500错误具体是:

"Cannot add duplicate collection entry of type 'rule' with unique key attribute 'name' set to 'redirect all requests'".

两个问题:

  1. 为什么第一个文件给出了 500?
  2. 我们怎样才能让它达到 200?

<remove name="redirect all requests" /> 放在 <rules> 元素的顶部回答了 #2 而不是 #1。

/node_modules/aurelia-open-id-connect/ 或其子目录 distamd.

中似乎还有另一个 web.config 与您的父目录冲突

如果启用详细错误,500 错误必须找到有问题的 web.config 文件。

如果它是一个 angular 应用程序,对我来说,删除 main.js 并上传新的应用程序解决了这个问题。