迁移到新的Windows之后,IIS 8.5服务器请求不是作为UTF-8字符传递,而是以单字节拉丁字符传递。
UTF-8字符是需要使用漂亮或SEO友好的网址在我们的WordPress和Joomla安装。
在PHP中,$_SERVER['REQUEST_URI']如下所示
/ p r e s s e / p r ø v e s i d e
2f7072657373652f7072 f8 766573696465在web服务器根目录中的web.config文件中
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="aspnet:UseLegacyRequestUrlGeneration" value="true" />
</appSettings>
<system.web>
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="da-DK"
uiCulture="da-DK" />
</system.web>
<system.webServer>
...
<system.webServer>
<configuration>发布于 2014-03-28 08:45:06
将以下更改应用于注册表解决了问题
reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters /v FastCGIUtf8ServerVariables /t REG_MULTI_SZ /d REQUEST_URI\0PATH_INFO似乎来自IIS 7.5的Microsoft KB2277918热修复已被卷到IIS 8.5中。
应用注册表更改后,$_SERVER['REQUEST_URI']在PHP中如下所示
/ p r e s s e / p r à ¸ v e s i d e
2f7072657373652f7072 c3b8 766573696465字节C3 B8是丹麦语字母‘B8’。
https://stackoverflow.com/questions/22707900
复制相似问题