wordPress/ target=_blank class=infotextkey>WordPress的偽靜態規則是根據服務器環境來設置的,不同的php環境有不同的偽靜態設置方法,常見的PHP環境有 Apache和Nginx ,以下浩子分別就這兩種環境做偽靜態設置。
值得一提的是,現在有很多服務器面板如:寶塔,可以直接勾選就能設置偽靜態,如果你正在用,就可以不用繼續看了。
Apache規則:
首先要開啟apache的url_rewrite模塊(一般默認都是開啟的),也就是在httpd.conf中去掉這句話的注釋LoadModule rewrite_module modules/mod_rewrite.so,httpd.conf中找到AllowOverride,把AllowOverride None修改成AllowOverride all
網站根目錄下要有 .htaccess 文件,然后將下面的代碼復制進去。
<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在Apache環境下二級目錄建站偽靜態操作方式同上。
Nginx規則:
操作方法:以下代碼加入到網站的配置文件 xxxx.conf 中的 server{} 中。
根目錄下WordPress的偽靜態規則:
location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }
二級目錄下WordPress的偽靜態規則:
注意將以下代碼中的“二級目錄名”換成自己的真實二級目錄名。
location /二級目錄名/ { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /二級目錄名/index.php; } }