【架站】wordpress從linux主機搬移到windows主機會踩的坑

 

原本GCP的效能有點不夠,網站常常做一些事情後就會卡住,像是套件升級之類的,後來把GCP提升到1G RAM, 1v CPU,還用過價格模擬器計算一個月大概落在6.7美元,結果沒想到這個月還沒過完,預算通知已經達到100%…所以只好另尋主機。

進入正提,所以我從linux主機把資料都搬到新的空間,但這個空間是windows iis沒想到就讓我遇到坑。

 

第一、原本的設定是吃固定網址

在linux下設定完固定網址後會自己幫你設定網站下的.htaccess

所以在自訂網址使用上順暢,在iis時,必須手動去調整web.config檔。

在<system.webServer>增加以下設定


<rewrite>
<rules>
<rulename="Main Rule"stopProcessing="true">
<matchurl=".*"/>
<conditionslogicalGrouping="MatchAll">
<addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
<addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
</conditions>
<actiontype="Rewrite"url="index.php"/>
</rule>
</rules>
</rewrite>

 

這樣去首頁點擊文章就正常了!

 

疑奇怪,怎麼有些文章點進去整個卡住,該不會是轉移外掛沒設定好?

我就把全部的外掛都掛掉之後,還是有幾篇文章就是出不來,沒想到後來查到,這是iis 上 wordpress會踩的坑。

 

在中文網址轉換上會有異常!所以這時候又找到了方法去處理

在網站根目錄新增檔案chineseurl.php

<?php
if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])){
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
}
else if (isset($_SERVER['HTTP_X_REWRITE_URL'])){
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
}
else{
if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])){
$_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
}

if ( isset($_SERVER['PATH_INFO'])){
if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME']){
$_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
}
else{
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
}
}

if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])){
$_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
}
}
require("index.php");
?>

並且修改剛剛設定的rewrite

把index.php改成剛剛新增的檔案就大功告成啦


<rewrite>
<rules>
<rulename="Main Rule"stopProcessing="true">
<matchurl=".*"/>
<conditionslogicalGrouping="MatchAll">
<addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
<addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
</conditions>
<actiontype="Rewrite"url="chineseurl.php"/>
</rule>
</rules>
</rewrite>

這樣一來,點任何文章都正常了,收工。

 

台北人,軟體工程師一枚,工作閒暇之餘記錄生活、分享整理資訊。
Posts created 105

One thought on “【架站】wordpress從linux主機搬移到windows主機會踩的坑

發表迴響

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top