去评论
距米网-精简版

WordPress伪静态设置:Apache和Nginx二级目录规则

JUMU
2019/10/19 14:35:34

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

  1. <font face="宋体"><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></font>

WordPress在Apache环境下二级目录建站伪静态操作方式同上。

Nginx规则:
操作方法:以下代码加入到网站的配置文件 xxxx.conf 中的 server{} 中。
根目录下WordPress的伪静态规则:
  1. <font face="宋体">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. }</font>

二级目录下WordPress的伪静态规则:
注意将以下代码中的“二级目录名”换成自己的真实二级目录名。

  1. <font face="宋体">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. }</font>