WordPress 在Apache、Nginx、二级目录中伪静态的设置教程

WordPress的 伪静态 规则是根据服务器环境来设置的,不同的PHP环境有不同的 伪静态 设置方法,常见的PHP环境有 Apache和Nginx ,下面 菜鸟站长 分别就这两种环境做伪静态设置。
值得一提的是,现在有很多服务器面板如:宝塔,可以直接勾选就能设置伪静态,如果你正在用,就可以不用继续看了。

ScreenShot_2025-10-24_201902_080.pngScreenShot_2025-10-24_201902_080.png

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

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

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

添加新评论