ASP.Net Url重写Url具有太多重定向
我有一个网站,文件夹中有.aspx文件,页面的当前路径类似于/giveway/giveway.aspx。我添加了一个url重写规则,当用户进入somedomain.com/giveway时,自动将用户定向到所述页面,但是我得到了一个错误ASP.Net Url重写Url具有太多重定向,asp.net,url,redirect,url-rewriting,Asp.net,Url,Redirect,Url Rewriting,我有一个网站,文件夹中有.aspx文件,页面的当前路径类似于/giveway/giveway.aspx。我添加了一个url重写规则,当用户进入somedomain.com/giveway时,自动将用户定向到所述页面,但是我得到了一个错误 `This page isn’t working `somedomain.com redirected you too many times.` 有人能告诉我我做错了什么吗?以下是我的规则 <rewrite> <rules>
`This page isn’t working
`somedomain.com redirected you too many times.`
有人能告诉我我做错了什么吗?以下是我的规则
<rewrite>
<rules>
<rule name="Redirect to HTTPS">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
<rule name="Giveaway" stopProcessing="true">
<match url="^giveaway*" />
<action type="Rewrite" url="/giveaway" appendQueryString="false" />
</rule>
<rule name="GiveawayRedirect" stopProcessing="true">
<match url="^giveaway*" />
<action type="Redirect" url="/Giveaway/giveaway.aspx" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
<outboundRules>
<rule name="Add SameSite" preCondition="No SameSite">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; SameSite=strict" />
<conditions>
</conditions>
</rule>
<preConditions>
<preCondition name="No SameSite">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=strict" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
因为我的路径是/giveaway/giveaway,所以它是循环的,因为它用于多次查找关键字。我将路径更改为/contest/giveway,现在当用户键入“/giveway”时,它会重定向到/contest/giveway并正常工作 这是我的规则
<rule name="GiveawayRedirect" stopProcessing="true">
<match url="^giveaway*" />
<action type="Redirect" url="/contest/giveaway" appendQueryString="false" redirectType="Permanent" />
</rule>
这个^giveaway
的基本意思是/giveaway
。因此,您将在循环中发送重定向,因为您将重定向发送到url=“/giveway”
,而规则GiveawayRedirect
将永远无法到达,因为该规则与上面的规则相同。因此,我只需要最上面的规则?不,最上面的规则是在循环中发送重定向的规则。你可能只需要底部的那个。(正如你所发现的)