Url Azure Web 应用程序无法解码
Url Decoding not working on Azure Web app
我似乎遇到了 Url 在舞台站点上被错误解码的问题。我一直在网上四处寻找,但我似乎找不到任何关于如何切换默认使用的解码方法的信息。我可以看出舞台站点正在使用 Windows-1252 解码 urls,示例如下:
暂存站点(错误)
de-de/people/%C3%A1ine-hurley/ -> de-de/people/áine-hurley
开发站点(正确)
de-de/people/%C3%A1ine-hurley/ -> de-de/berater/áine-hurley
开发者和实时网站都呈现正确的 url,正在使用 UTF-8 解码。对于解码字符的比较,你可以访问这个 link http://www.w3schools.com/tags/ref_urlencode.asp
我真的很茫然,stage 和 live 都是在 Azure web 应用程序中设置的,从我所看到的设置来看,它们具有相同的设置(但是我感觉这可能是某处的服务器设置)。
如果有人能给我更多关于它是如何工作的信息,或者是否可以更改服务器上的解码设置,我将不胜感激。如果需要更多信息,我很乐意提供。我只是不确定哪些信息会有用。
经过更多调查,我注意到阶段站点实际上向 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>
如果有人知道为什么这会解决问题,很想知道:)。希望这对遇到此问题的其他人有所帮助。
我似乎遇到了 Url 在舞台站点上被错误解码的问题。我一直在网上四处寻找,但我似乎找不到任何关于如何切换默认使用的解码方法的信息。我可以看出舞台站点正在使用 Windows-1252 解码 urls,示例如下:
暂存站点(错误)
de-de/people/%C3%A1ine-hurley/ -> de-de/people/áine-hurley
开发站点(正确)
de-de/people/%C3%A1ine-hurley/ -> de-de/berater/áine-hurley
开发者和实时网站都呈现正确的 url,正在使用 UTF-8 解码。对于解码字符的比较,你可以访问这个 link http://www.w3schools.com/tags/ref_urlencode.asp
我真的很茫然,stage 和 live 都是在 Azure web 应用程序中设置的,从我所看到的设置来看,它们具有相同的设置(但是我感觉这可能是某处的服务器设置)。
如果有人能给我更多关于它是如何工作的信息,或者是否可以更改服务器上的解码设置,我将不胜感激。如果需要更多信息,我很乐意提供。我只是不确定哪些信息会有用。
经过更多调查,我注意到阶段站点实际上向 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>
如果有人知道为什么这会解决问题,很想知道:)。希望这对遇到此问题的其他人有所帮助。