問題緣由

因為 WordPress 預設的連結樣式不好看,且不美觀,沒有一個完好的目錄結構展示

解決思路

我們可以透過 WordPress 後臺的設定-固定連線來進行設定,例圖:

WordPress偽靜態規則大全,內含IIS/Apache/Nginx三種環境教程

除了預設外的其他設定均可以改變 WordPress 預設的連結結構,但是設定這一塊是需要我們的主機支援的;檢測主機是否支援的最好辦法就是,選擇一個除預設外的其他樣式,儲存,然後隨便點選一個文章看是否出現 404,如果出現,那麼很抱歉了,您的主機現在還不支援 WordPress 偽靜態!

到了這一步,我們就需要了解我們所使用的主機是什麼環境的了,這個問題,我們可以問空間服務商得到答案,通常是 IIS/Apache/Nginx 這三種環境,而下面將分別給出這三個環境的偽靜態規則!

IIS 偽靜態規則

IIS 環境是 Windows 主機常用的伺服器環境,新建一個 txt 檔案,將下面的程式碼新增到檔案中:

  1. [ISAPI_Rewrite]
  2. CacheClockRate 3600
  3. RepeatLimit 32
  4. RewriteRule /tag/(.*) /index.php?tag=$1
  5. RewriteRule /software-files/(.*) /software-files/$1 [L]
  6. RewriteRule /images/(.*) /images/$1 [L]
  7. RewriteRule /sitemap.xml /sitemap.xml [L]
  8. RewriteRule /favicon.ico /favicon.ico [L]
  9. RewriteRule /wp-(.*) /wp-$1 [L]
  10. RewriteRule ^/$ /index.php [L]
  11. RewriteRule /(.*) /index.php/$1 [L]

然後另存為 httpd.ini 檔案,上傳到 WordPress 站點的根目錄即可。

Apache 偽靜態規則

Apache 是 Linux 主機下常見的環境,現在一般的 Linux 虛擬主機都採用這種環境。新建一個 htaccess.txt 檔案,新增下面的程式碼:

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /
  4. RewriteRule ^index.php$ - [L]
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteRule . /index.php [L]
  8. </IfModule>

然後上傳到 WordPress 站點的根目錄,重新命名為 .htaccess 即可

Nginx 偽靜態規則

Nginx 環境一般是 Linux 主機 VPS 或伺服器使用者用的比較多,這些使用者一般都會自己配置 Nginx,或者有專門的人幫你配置,開啟 nginx.conf 或者某個站點的配置環境,比如 2zzt.com.conf(不同人配置的不一樣),在  server   { } 大括號裡面新增下面的程式碼:

  1. location / {
  2. if (-f $request_filename/index.html){
  3.                 rewrite (.*) $1/index.html break;
  4.         }
  5. if (-f $request_filename/index.php){
  6.                 rewrite (.*) $1/index.php;
  7.         }
  8. if (!-f $request_filename){
  9.                 rewrite (.*) /index.php;
  10.         }
  11. }

儲存,重啟 Nginx 即可。

當然,小 2 建議大家使用 WordPress 來搭建網站的時候還是選擇 linux 的空間比較好,因為 linux 下的 Apache 和 Nginx 環境還比 win 下的 IIS 執行 php 程式的效率要高的多!