解决 Nginx 环境 WordPress 设置固定链接无法打开

使用VPS的用户,自己搭建的 Nginx 环境,在WordPress 设置固定链接无法打开,默认会出现设置带目录的链接时无法打开的情况。

http://xxx.com/blog/
http://xxx.com/2018/
http://xxx.com/%postname%.html

不加设置以上形式的链接都会出现404错误。

解决办法

不支持目录链接是因为缺少伪静态规则,我们只需要按以下方法添加伪静态即可。

添加伪静态规则

Nginx 环境下WordPress或者Typecho伪静态规则如下:

location / { 
  index index.html index.php; 
  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; 
  } 
}

以上规则在nginx或者vhost配置中修改都可以。保存配置后,重启nginx一般就正常了。