宝塔面板默认WordPress伪静态规则的调整

在宝塔面板面板 5.9 至 6.8 的版本中,默认内置的 wordpress 规则,已经被调整过了,如果你的面板规则从来没有变过,可以去重新更新下默认伪静态规则了。为什么需要去调整,因为这些版本中默认的伪静态规则有误,在最新版已经修改过来了。估计有很多人没有注意这个问题,这篇文章,我们来说说这个事情。

一:默认的规则

我们看看 6.9 之前的版本中默认的 wordpress 伪静态规则是这样的:

  1.     location / {
  2.     	index index.HTML index.php;
  3.     	if (-f $request_filename/index.html){
  4.     		rewrite (.*) $1/index.html break;
  5.     	}
  6.     	if (-f $request_filename/index.php){
  7.     		rewrite (.*) $1/index.php;
  8.     	}
  9.     	if (!-f $request_filename){
  10.     		rewrite (.*) /index.php;
  11.     	}
  12.     }
  13. 
    
  14.     rewrite /wp-admin$ $scheme://$host$uri/ permanent;

我们很多人都是选这默认的伪静态规则就完事了。其实这段规则还是有误的,我们可以来分析一下,这个规则首先调整了 index 顺序,把 index.html 放在了 index.php 之前。而我们知道道,WordPress 的入口文件是 index.php,因此这个规则显而易见是错的。我们来看看这一段默认规则的意思。
宝塔面板默认WordPress伪静态规则的调整-云模板如果存在 index.html 文件,则终止匹配新生成的链接,不在执行规则(因为 wordpress 没有 index.html 文件所以,不存在匹配,所以这句是没有必要的。)如果存在 index.php 继续匹配 index.php,如果不存在 index.php 则匹配 index.php 并且隐藏 index.php 文件,这样就算我们输入 www.daniao.org/index.php 也会自动变成 www.daniao.org 这样的形式。

这个规则是有错误的而且也很奇怪,当然是有源头的,源头在这里,大家有兴趣可以自己去看下:https://wayne173.iteye.com/blog/1913862这个规则配不上高大上的 wordpress,我们看看 WordPress 官方文档 怎么写的。

二:Wordpress CP

我们看看 WordPress 官方文档 和 Nginx 官方文档都有详细介绍,是下面这样的:

  1.     location / {
  2.                     # This is cool because no php is touched for static content.
  3.                     # include the "?$args" part so non-default permalinks doesn't break when using query string
  4.                     try_files $uri $uri/ /index.php?$args;
  5.             }
  6. 
    
  7.     rewrite /wp-admin$ $scheme://$host$uri/ permanent;

看,就这么短,其中还有两行是注释,也就是说,规则其实只有两行!我们不妨看看这两行注释是什么:

# 这个规则很酷,因为静态内容完全不触及 PHP

# 包含 “?$args” 目的是,即使使用非默认的固定链接,也不会在使用查询字段时被破坏。

所以正确的 wodpress 规则是:

  1.     location /
  2.     {
  3.     	 try_files $uri $uri/ /index.php?$args;
  4.     }
  5. 
    
  6.     rewrite /wp-admin$ $scheme://$host$uri/ permanent;

宝塔面板已经默认更改过了,我们看图:
宝塔面板默认WordPress伪静态规则的调整-云模板

三:总结

5.9 版本是没人管的,所以看到的人也赶紧更新下自己的 wordpress 伪静态规则。当然 wordpress 官方自己给的规则还是很给力和高效的而且还兼顾了安全性!如果是 6.X 的可以升级到最新版本,之后,自己更换下默认的伪静态规则就可以了,如果是 5.9 版本的,可以复制这个最新的规则到自己的默认的 wodpress 伪静态文件里面,之后保存就可。如果不在意以前的也可以用,如果强迫症可以换新的了。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/93768

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买