WordPress 和其它网站系统不一样,其它网站系统基本都带有生成静态页面功能,但 WordPress 只能使用伪静态,除非使用一些插件来生成,不过我们一般在服务器上设置伪静态规则就能解决。

现在的主机基本都会支持伪静态功能,只需在空间后台伪静态功能,选择网站系统,空间就会支持该系统的伪静态。

如何判读空间是否支持伪静态。在 WordPress 网站后台:设置-固定链接,选择第一个除外,看网站其它页面是否出现 404,如果是,则空间不支持伪静态。

只要空间支持伪静态重写 URL Rewrite 功能,根据服务器主机空间环境,只需加入下列伪静态规则即可。

WordPress Apache 伪静态规则

新建一个 txt 文件,将下面的代码添加到文件中,然后另存为.htaccess文件,上传到 WordPress 站点的根目录即可。

<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 Nginx 伪静态规则

在 Nginx 中的 server 模块配置如下内容,打开 nginx.conf 或者某个站点的配置环境,例如/usr/local/nginx/conf/yzipi.conf,在 server{ } 大括号里面添加下面的代码。

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 IIS 伪静态规则

新建一个 txt 文件,将下面的代码添加到文件中,然后另存为 httpd.ini 文件,上传到 WordPress 站点的根目录即可。

[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
Last modification:June 8, 2021
如果觉得我的文章对你有用,请随意赞赏