@Indolering提到的问题与URL重写模块有关,即包含UTF-8字符的URL在URL重写模块处理时没有正确传递。
因为我不是服务器所有者,而且我无法安装上面提到的修补程序(尽管我使用的是IIS8.5,但问题仍然存在),所以我不得不设法解决这个问题。
The solution suggested by @pouria-p 因为Joomla也适用于Wordpress。
Step 1.更新中的重写规则web.config
文件
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<!-- The changes are applied to this line only -->
<action type="Rewrite" url="index.php" />
</rule></rules>
</rewrite>
</system.webServer>
</configuration>
规则如下:
<action type="Rewrite" url="index.php?requesturi={URL}" />
Step 2. 更新
$_SERVER[\'REQUEST_URI\']
通过将以下行添加到
index.php
文件:
if(isset($_GET[\'requesturi\']))
$_SERVER[\'REQUEST_URI\'] = $_GET[\'requesturi\'];