對於大部分選擇 WordPress 建站的站長來説,都會選擇 linux 主機來建站,但是偶爾也會有少數的人在不知道情況的前提下,選擇了 windows 主機,這無疑是一個錯誤的選擇。那麼,既然選擇了 windows 主機,就應該解決大部分站長都想實現的 WordPress 偽靜態問題。偶派網站長是這樣實現的,希望對您有所幫助。
對於 windows 主機使用者來説,您找到 wordprcess 的後台> 設置 (Options) >> 固定鏈接 (Permalinks) 處。在這裏,WordPress 提供了 6 個有關 url 鏈接形式的選項,前五個選項對於主機來説是支持的, 不需要特殊處理。在這裏我講解的是第六個選擇,我提供的解決方法是通過自定義 404 錯誤頁面設置來實現的,相對來説比較複雜,請耐心的根據步驟實現,儘量講解的詳細些。
1. 現在本地計算機建立一個 404.php 文件,建議使用專門的 php 編輯軟件,當然也可以使用記事本。將下面的代碼複製、保存並上傳到空間的根目錄下。
<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>
2. 登陸您的空間控制後台,在控制面板裏找到關於"自定義錯誤"的選項,由於空間提供商的不同,此選項也會不同,但大意就是關於 404 錯誤頁面自定義的,具體可以諮詢空間商。找到選擇項後,接下來的便是將剛上傳的文件定義為 404 錯誤頁面,其實並非定義網站的 404 錯誤,而是提供這種途徑實現的 WordPress 偽靜態。
3. 進入網站 WordPress 管理後台,設置 (Options)>> 固定鏈接 (Permalinks) 處,找到 「自定義結構」 。您可以參考以下的自定義格式,選擇適合自己喜歡的類型。最普遍的一種便是/%post_id%.html ,這是以文章 id 號碼為鏈接的形式,形式為/47.html 這種格式; 還有一種是/%postname%.html,這是以文章名稱為鏈接的形式,出來的效果是/標題.html 這種形式的, 如果文章名稱是中文的,則會自動轉化為% 符號,若服務器支持不是很好的話,會不能訪問有些服務器支持不太好,不能訪問。建議使用第一種。
另附官方提供瞭如下一些自定義參數:
%year% 年份
%monthnum% 月份
%day% 日期
%hour% 小時
%minute% 分鐘
%second% 秒
%category% 目錄
%author% 作者
4. 這個方法往往會導致中文標籤和一些相關地方的 tags 無法找到,解決的辦法是替換如下代碼,找到 /wp-includes/class-wp.php 中如下代碼:
|
if ( isset($_SERVER['PATH_INFO']) ) $pathinfo = $_SERVER['PATH_INFO']; else $pathinfo = ''; $pathinfo_array = explode('?', $pathinfo); $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); $req_uri = $_SERVER['REQUEST_URI']; |
替換為
好了,您可以很自豪的查看自己網站前台了,你會發現網站 url 確實實現了靜態化,原來就是那麼簡單。 ( ⊙ o ⊙ ) 。您若是在配置中遇到不明白的地方,可以來詢問我,一塊共同進步。