Asp.net Url解码在Azure Web应用程序上不起作用
我似乎有一个问题,Url的解码在舞台上的网站不正确。我一直在网上四处寻找,但似乎找不到任何关于如何切换默认使用的解码方法的信息。我可以看出stage站点正在使用Windows-1252解码URL,示例如下: 舞台场地(错误) 开发站点(正确) 开发人员和现场站点都呈现了正确的url,该url正在使用UTF-8进行解码。有关解码字符的比较,请访问此链接 我真的不知所措,stage和live都是在Azure web应用程序中设置的,从我所看到的情况来看,它们的设置都是相同的(不过我感觉它可能是某个地方的服务器设置)Asp.net Url解码在Azure Web应用程序上不起作用,asp.net,azure,umbraco,azure-web-app-service,urldecode,Asp.net,Azure,Umbraco,Azure Web App Service,Urldecode,我似乎有一个问题,Url的解码在舞台上的网站不正确。我一直在网上四处寻找,但似乎找不到任何关于如何切换默认使用的解码方法的信息。我可以看出stage站点正在使用Windows-1252解码URL,示例如下: 舞台场地(错误) 开发站点(正确) 开发人员和现场站点都呈现了正确的url,该url正在使用UTF-8进行解码。有关解码字符的比较,请访问此链接 我真的不知所措,stage和live都是在Azure web应用程序中设置的,从我所看到的情况来看,它们的设置都是相同的(不过我感觉它可能是某个地
如果有人能给我更多的信息,这是如何工作的,或者如果有可能改变服务器上的解码设置,将不胜感激。如果需要更多信息,我很乐意提供。我只是不确定哪些信息有用。经过进一步调查后,我注意到stage网站实际上向一个URL发出了301个永久重定向,该URL首先使用windows-1252解码,然后重新编码为UTF-8(这很奇怪,因为我在代码中找不到任何地方可以这样做,在重写规则中也找不到任何东西) 但是,通过添加永久规范重定向来解决此问题,以解析不带www.的临时站点,并将其强制为stage.sitename.come。下面的规范示例:
<rule name="Redirect to WWW" stopProcessing="true" >
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\." negate="true"/>
</conditions>
<action type="Redirect" url="https://www.{HTTP_HOST}{HTTP_URL}" redirectType="Permanent" appendQueryString="false" />
</rule>
如果有人知道这将解决问题的原因,他很想知道:)。希望这能帮助其他人解决这个问题。经过进一步调查后,我注意到stage站点实际上向一个URL发出了301个永久重定向,该URL首先使用windows-1252解码,然后重新编码为UTF-8(这很奇怪,因为我在代码中找不到任何地方可以这样做,在重写规则中也找不到任何东西) 但是,通过添加永久规范重定向来解决此问题,以解析不带www.的临时站点,并将其强制为stage.sitename.come。下面的规范示例:
<rule name="Redirect to WWW" stopProcessing="true" >
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\." negate="true"/>
</conditions>
<action type="Redirect" url="https://www.{HTTP_HOST}{HTTP_URL}" redirectType="Permanent" appendQueryString="false" />
</rule>
如果有人知道这将解决问题的原因,他很想知道:)。希望这对其他人有帮助,如果他们有这个问题
<rule name="Redirect to WWW" stopProcessing="true" >
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\." negate="true"/>
</conditions>
<action type="Redirect" url="https://www.{HTTP_HOST}{HTTP_URL}" redirectType="Permanent" appendQueryString="false" />
</rule>