win虛擬主機下安裝wordpress僞靜態及中文標籤等相關設置

  wordpress是php+mysql的開源程序。可以在linux主機上面完美運行。首選當然是linux主機。但是有時候免不了要用win主機來安裝wordpress程序,這樣就有一些問題,但是都可以解決的。本人目前所用的主機是西部數碼win雙線主機。下面就所遇到的問題以及解決方法總結一下。

  第一:wordpress固定鏈接問題

  安裝程序後必做的一件事,就是設置固定鏈接形式。在linux主機下面,一般情況下直接自定義自己喜歡的形勢即可,但是在win主機下設置後導致無法訪問。比較流行的形勢是/%postname%.html和/%post_id%.html。下面是wordpress在win主機下的僞靜態規則。

  1.主機支持urlrewrite功能

  下面以西部數碼主機爲例:

  進入控制面板,點擊 ISAPI 篩選器--點擊開啓自定義URL靜態化支持,這個時候通過ftp軟件進入網站目錄--再打開/others/discuz/httpd.conf文件

  在httpd.conf裏面加入以下規則。

  # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.php RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L] 有些主機商自定義設置isapi篩選器需要自己上傳Rewrite的dll文件(下載見最下面),上傳搞定之後,可以將以上代碼用記事本保存下來,注意要在文件裏面,補充以下內容在以上規則前面

  [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 再把文件後改爲httpd.ini然後上傳到網站根目錄即可。

  2.不支持urlwrite

  這種情況下可以通過設置404頁面的方法實現wordpress在win主機下的僞靜態。

  新建一個記事本,在裏面寫入下面代碼保存,重新命名爲404.php。上傳到程序根目錄。

  代碼:

  <?php $qs = $_SERVER['QUERY_STRING']; $_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3); $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; include('index.php'); ?> 進入網站後臺管理開啓動態404頁。

  第二:wordpress中文標籤問題

  有的時候以上設置會導致中文標籤和一些相關地方的tags等無法找到,解決辦法是查找wp-includes/classes-wp.php(wp3.2.1其他版本自己找一下)中如下代碼:

  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']; 修改爲:

  if ( isset($_SERVER['PATH_INFO']) ) $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK'); else $pathinfo = ”; $pathinfo_array = explode('?', $pathinfo); $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK'); 最後提供兩個文件的下載第一個如果是西數主機在開啓isapi自定義之後可以把這個文件直接上傳代替以前那個。第二個文件是放到程序根目錄的時候的文件。

  PS。2011年10月21日 按照上述方法修改網站爲靜態化,已經確認無誤,url靜態與中文tags問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章