1. IIS web.config
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <defaultDocument> <files> <clear /> <add value="index.php" /> </files> </defaultDocument> <rewrite> <rules> <clear /> <rule name="WordPress Rule" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" /> </rule> </rules> <outboundRules> <clear /> </outboundRules> </rewrite> <httpErrors errorMode="Detailed" /> <security> <requestFiltering allowDoubleEscaping="true"> <requestLimits maxAllowedContentLength="4294967295" /> </requestFiltering> </security> </system.webServer> </configuration>
errorMode,開啟log。
maxAllowedContentLength,增加file max size。
rewrite rules,參考wordpress官方文檔。
2. PHP temp folder permission
由於是wp-admin上傳檔案,所以要在temp folder allow permission。
3. IIS Handler Mappings
use xampp php-cgi.exe
4. Install "URL Rewrite"
https://www.iis.net/downloads/microsoft/url-rewrite
Wordpress needs "URL Rewrite" module.