不少朋友總是詢問 WordPress 如何添加偽靜態(tài)規(guī)則,今天就總結(jié)一下 IIS/Apache/Nginx 三種環(huán)境下的偽靜態(tài)規(guī)則住册,希望對大家有所幫助丈莺。
檢測主機(jī)是否支持偽靜態(tài)的方法:在WP后臺 > 設(shè)置 > 固定鏈接,設(shè)置為 非默認(rèn)帶?的那種結(jié)構(gòu)照筑,然后訪問任何一篇文章胸私,如果出現(xiàn) 404 錯誤厌处,說明你的主機(jī)當(dāng)前不支持 WordPress 偽靜態(tài)。
IIS偽靜態(tài)規(guī)則
IIS 環(huán)境是 Windows 主機(jī)常用的服務(wù)器環(huán)境岁疼,新建一個 txt 文件阔涉,將下面的代碼添加到文件中:
[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /tag/(.*) /index\.php\?tag=$1
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
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]
然后另存為 httpd.ini 文件,上傳到WordPress站點(diǎn)的根目錄即可五续。
Apache偽靜態(tài)規(guī)則
Apache是 Linux 主機(jī)下常見的環(huán)境洒敏,現(xiàn)在一般的 Linux 虛擬主機(jī)都采用這種環(huán)境。新建一個 htaccess.txt 文件疙驾,添加下面的代碼:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
然后上傳到 WordPress 站點(diǎn)的根目錄,重命名為 .htaccess 即可
Nginx偽靜態(tài)規(guī)則
Nginx環(huán)境一般是Linux 主機(jī) VPS或服務(wù)器用戶用的比較多郭毕,這些用戶一般都會自己配置Nginx它碎,或者有專門的人幫你配置,打開 nginx.conf 或者某個站點(diǎn)的配置環(huán)境显押,比如 wpdaxue.com.conf(不同人配置的不一樣)扳肛,在 server { } 大括號里面添加下面的代碼:
location / {
try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
保存,重啟 Nginx 即可乘碑。
注:如果以上規(guī)則不適用挖息,請自己查看WP官方文檔:https://codex.wordpress.org/Nginx
題外話:不推薦在 windows 的IIS服務(wù)器下安裝 WordPress,因?yàn)?IIS 環(huán)境運(yùn)行php程序的效率兽肤,相對同等配置下 Linux 的 Apache 和 Nginx 環(huán)境套腹,要低的多,具體可以看看https://www.wpdaxue.com/wordpress-hosting.html