[心情分享]在IIS環境中將Wordpress改採靜態化網址
最近某個客戶問到了這個問題
在IIS主機上如何把wp改成固定網址呢
在apache下面可以利用Rewrite來做
該客戶提供了一種ISAPI組件 但ISAPI組件必須要擁有主機權限才能安裝
因此該客戶希望我們能協助安裝.
站在主機商的立場而言,關於組件的部分是能不裝即不裝
畢竟該組件隱藏的安全性問題等等都不是能預估的
況且裝了該組件後是否會影響其他正常使用的客戶這也很難說
因此,我便向該客戶提出另外一種解決辦法
該解決辦法是由 Einar 所提出
原理是用404錯誤頁面來導向
首先,先在自己的目錄放入一個404.php檔案如下
<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, ‘://’);
$pos = strpos($qs, ‘/’, $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include(‘index.php’);
?>
接著再登入Plesk控制台(或者是透過IIS設定)
將 自設錯誤頁面 改為 URL 輸入 /404.php
然後再到wordpress後台
將固定網址 改成
/%year%/%monthnum%/%day%/%postname%/
這樣的格式
但這種格式有個缺點 就是萬一您的標題是有『非英文』的字
那就無法正常使用
解決方式則改用以下
/%year%/%monthnum%/%day%/%post_id%.html (有html後綴) 或者 /%year%/%monthnum%/%day%/%post_id% (沒有html後綴) 如此即可使用固定網址(改採模擬靜態化) 以上方法我測試過後是成功的 但因為我的部落格文章在google都已經被收錄了 改了網址以後seo就毀了(我知道有301導向外掛,但實際用過不合用) 因此我還是改採原本的固定網址 將方法記錄於此 分享給大家




不错,