当我在 web.config 中使用 URL 重定向时,如何将 AJAX.POST 响应解析为 301?

How to resolve AJAX.POST response as 301 when I am using URL redirection in web.config?

所以,在花了很多时间之后,我不得不问这个问题。 我在 ASP.NET

中发送 AJAX POST 请求
 $.ajax({
    type: "POST",
    url: "Manage.aspx/StUpdate",
    data: JSON.stringify(obj),
    contentType: "application/json; charset=utf-8"
    });

我的 Web.config 删除了所有 .aspx 扩展规则,如下所示:

<rewrite>
<rules>
            <rule name="RemoveASPX" enabled="true" stopProcessing="true">
                <match url="(.*)\.aspx" />
                <action type="Redirect" url="{R:1}" />
            </rule>

            <rule name="AddASPX" enabled="true">
                <match url=".*" negate="false" />
                <conditions>

                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

                    <add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
                </conditions>
                <action type="Rewrite" url="{R:0}.aspx" />
            </rule>

我试图将 AJAX POST 发送到 URL : Manage/StUpdate,但没有成功。

在我读了很多书之后,我知道我可以让这个 AJAX POST 方法继续下去的唯一方法就是不重写这个特定的文件。

我的理解对吗?除了改URL重写还有什么办法吗?

如果我必须从重写中删除这个特定文件,我该怎么做?

问题已解决。如果有人遇到类似问题,解决方案是 web.config。

<rewrite>
 <rules>
      <rule name="RemoveASPX" enabled="true" stopProcessing="true">
                    <match url="(.*)\.aspx" />
        <conditions>
             <add input="{REQUEST_URI}" pattern="^/Login.aspx" negate="true" />
        </conditions>

         <action type="Redirect" url="{R:1}" />
       </rule>
       <rule name="AddASPX" enabled="true">
         <match url=".*" negate="false" />
         <conditions>
            <add input="{REQUEST_URI}" pattern="^/Login.aspx" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
         </conditions>
         <action type="Rewrite" url="{R:0}.aspx" />
      </rule>
  </rules>
</rewrite>

解决方案是确保排除您要在删除和添加 ASPX 条件中避免的特定 URL。 我了解属性 negate="true" stats 可以在应用此规则时避免这种情况。我通过试错法理解了它。不确定它是否正确。

希望对有需要的人有所帮助。