帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  WordPress 如何设置Apache和Nginx的伪静态规则设置以及二级目录伪静态规则

WordPress 如何设置Apache和Nginx的伪静态规则设置以及二级目录伪静态规则

2024-01-03 15:31:54 1818

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

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: