WordPress偽靜態規則設置: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{} 中。
最簡單的偽靜態規則如下:
location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; }
根目錄下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; } }