在宝塔面板面板5.9至6.8的版本中,默认内置的wordpress规则,已经被调整过了,如果你的面板规则从来没有变过,可以去重新更新下默认伪静态规则了。
为什么需要去调整,因为这些版本中默认的伪静态规则有误,在最新版已经修改过来了。大鸟估计有很多人没有注意这个问题,这篇文章,我们来说说这个事情。
我们看看6.9之前的版本中默认的wordpress伪静态规则是这样的:
indexindex.htmlindex.php;
if(-f$request_filename/index.html){
rewrite(.*)$1/index.htmlbreak;
if(-f$request_filename/index.php){
rewrite(.*)$1/index.php;
if(!-f$request_filename){
rewrite(.*)/index.php;
rewrite/wp-admin$$scheme://$host$uri/permanent;
我们很多人都是选这默认的伪静态规则就完事了。其实这段规则还是有误的,我们可以来分析一下,这个规则首先调整了index顺序,把index.html放在了index.php之前。而我们知道道,WordPress的入口文件是index.php,因此这个规则显而易见是错的。我们来看看这一段默认规则的意思。
如果存在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官方文档和Nginx官方文档都有详细介绍,是下面这样的:
#Thisiscoolbecausenophpistouchedforstaticcontent.
#includethe"?$args"partsonon-defaultpermalinksdoesn'tbreakwhenusingquerystring
try_files$uri$uri//index.php?$args;
rewrite/wp-admin$$scheme://$host$uri/permanent;
看,就这么短,其中还有两行是注释,也就是说,规则其实只有两行!我们不妨看看这两行注释是什么:
#这个规则很酷,因为静态内容完全不触及PHP
#包含"?$args"目的是,即使使用非默认的固定链接,也不会在使用查询字段时被破坏。
所以正确的wodpress规则是:
try_files$uri$uri//index.php?$args;
rewrite/wp-admin$$scheme://$host$uri/permanent;
宝塔面板已经默认更改过了,我们看图:
5.9版本是没人管的,所以看到的人也赶紧更新下自己的wordpress伪静态规则。当然wordpress官方自己给的规则还是很给力和高效的而且还兼顾了安全性!
如果是6.X的可以升级到最新版本,之后,自己更换下默认的伪静态规则就可以了,如果是5.9版本的,可以复制这个最新的规则到自己的默认的wodpress伪静态文件里面,之后保存就可。
如果不在意以前的也可以用,如果强迫症可以换新的了。
https://codex.wordpress.org/Nginx
https://www.nginx.com/resources/.../recipes/wordpress/
本文来源:vps主机--宝塔面板默认WordPress伪静态规则的调整(宝塔面板wordpress)
本文地址:https://www.idcbaba.com/vps/2598.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。