Ich stelle Site auf Azure bereit, und ich versuche, Rewrite-Regeln für die Site zu schreiben.Warum erhalte ich eine 500, wenn ich eine Rewrite-Regel zu meiner Web.config in Azure hinzufüge?
Ich habe den folgenden Code, und es funktioniert:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Sendy all" stopProcessing="true">
<match url="^(.+?)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
<rule name="Sendy all" stopProcessing="true">
<match url="^api/(.+?)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
aber wenn ich den folgenden Code innerhalb der Regeln Tag hinzufügen erhalte ich die Fehlermeldung The page cannot be displayed because an internal server error has occurred
. Warum?
<rule name="Sendy all" stopProcessing="true">
<match url="^api/(.+?)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
Ich denke, Sie sollten Ihre Frage neu formatieren. Ich kann nicht sehen, welche Regel du hinzufügst. Der dritte ist der gleiche wie der zweite, den du als funktionierst. Alle drei Regeln (zwei Duplikate) haben die gleichen Namen. Ich schlage vor, dass Sie eine Version veröffentlichen, die funktioniert und eine, die nicht funktioniert. –