如果是在Linux主機下,主機支援mod_rewrite的話,那就不需要費那麼大的勁,但是一部分WordPress是安裝在Windows主機上的,預設情況下WordPress會在URL上加上index.php,看上去不怎麼順眼,我們可以把index.php去掉,讓WordPress跟運行在Linux一樣。
先新建一個wp-404.php文件,名字隨便,增加下面的程式碼,然後FTP到伺服器根目錄上。
<?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');
?>
透過虛擬主機管理軟體把404頁指向wp-404.php。
最後去WordPress後台,設定Permalink,OK,刷新一下首頁,發現URL rewrite正常運作了。
在Windows 2003 + IIS6.0下試驗過,能成功。我覺得一些Linux主機,但不支援.htaccess的話,也可以用這種方法來進行URL重寫。
有一個問題,就是不支援中文,postname和tag最好是英文的,中文的tag可以去設定tag slug。