將網站按照https://www.icka.org/2098設定為Https之後,使用Windows Live Writer發佈文章會提示下面的錯誤
WindowsLiveWriter,16.20148,None,00053,21-Jun-2019 10:12:08.381,”XML-RPC request:
https://www.icka.org/xmlrpc.php
<?xml version=””1.0″” encoding=””utf-8″”?>
<methodCall>
<methodName>blogger.getUsersBlogs</methodName>
<params>
<param>
<value>
<string>0123456789ABCDEF</string>
</value>
</param>
<param>
<value>
<string>****</string>
</value>
</param>
<param>
<value>[removed]</value>
</param>
</params>
</methodCall>”,””
WindowsLiveWriter,16.20148,None,00054,21-Jun-2019 10:12:08.381,”== BEGIN WebException =====================”,””
WindowsLiveWriter,16.20148,None,00055,21-Jun-2019 10:12:08.381,”Status: SendFailure”,””
WindowsLiveWriter,16.20148,None,00056,21-Jun-2019 10:12:08.381,”System.Net.WebException: 基礎連接已關閉: 傳送時發生未預期的錯誤。 —> System.IO.IOException: 收到來自傳輸資料流的未預期 EOF 或 0 個位元組。
這個變化是加https後發生的,看起來是因為https訪問xmlrpc.php有問題。
因為設定為https訪問,也可以通過安裝WordPress HTTPS插件達成,但需要多 一個設定,就是針對xmlrpc.php的訪問不要導到https,仍然保持http模式
如果是是使用.htaccess做的https跳轉則可以如下設定
1 2 3 4 5 6 7 8 9 10 11 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/xmlrpc.php RewriteRule (.*) https://%{SERVER_NAME}/$1 [R] </IfModule> |