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; } }