我似乎有一个问题,Url被解码的舞台上的网站不正确。我一直在网上寻找,但我似乎找不到任何关于如何切换什么解码方法是默认的。我可以看出舞台站点正在使用Windows1252来解码urls,例如:
舞台场地(错)
de-de/people/%C3%A1ine-hurley/ -> de-de/people/áine-hurley发展网站(正确)
de-de/people/%C3%A1ine-hurley/ -> de-de/berater/áine-hurley开发一个活动的站点都呈现正确的url,该url正在使用UTF-8进行解码。要比较解码字符,可以访问此链接urlencode.asp
我真是不知所措,舞台和现场都是在Azure web应用程序中设置的,从我所能看到的情况来看,它们有着相同的设置(但是我有一种感觉,它可能是某个地方的服务器设置)。
如果有人能给我更多的信息,这是如何工作,或它是否可能改变一个服务器上的解码设置,这将是非常感谢的。如果需要更多的信息,我很乐意提供。我只是不知道什么信息会有用。
发布于 2016-05-20 09:57:09
经过更多的调查后,我注意到舞台站点实际上发布了301个永久重定向到一个URL,该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>如果有人知道这会解决问题的原因,那么很想知道:)。希望这有助于其他人,如果他们有这个问题。
https://stackoverflow.com/questions/37328720
复制相似问题