伪原创没用(宝塔面板5.9至6.8版本中默认的wordpress伪静态规则)

优采云 发布时间: 2021-10-05 10:10

  伪原创没用(宝塔面板5.9至6.8版本中默认的wordpress伪静态规则)

  在宝塔面板面板5.9到6.8版本中,对wordpress默认内置规则进行了调整。如果你的面板规则从来没有改变,你可以去更新默认伪有静态规则。

  为什么需要调整,因为这些版本默认的伪静态规则是错误的,在最新版本中已经修改了。大鸟估计很多人都没有关注过这个问题,这篇文章文章,就来聊聊这个问题吧。

  一:默认规则

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

  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;

}

}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

  我们中的许多人选择了这个默认的伪静态规则,我们就大功告成了。其实这个规则还是错的,我们可以分析一下,这个规则先调整索引顺序,把index.html放在index.php之前。而且我们知道WordPress的入口文件是index.php,所以这个规则显然是错误的。我们来看看这个默认规则的含义。

  

  如果 index.html 文件存在,新生成的链接会被终止,规则不会被执行。(因为wordpress没有index.html文件,所以没有匹配,所以这句话是没有必要的。)

  如果index.php存在,继续匹配index.php,如果index.php不存在,匹配index.php并隐藏index.php文件,这样即使我们输入,也会自动变成这个形式。

  这个规则是错误的,而且很奇怪。当然,它是从源头上来的。来源在这里。有兴趣的可以自己去看看:

  这条规则配不上wordpress的高大上,我们来看看WordPress官方文档中是怎么写的。

  二:Wordpress CP

  我们来看看WordPress官方文档和Nginx官方文档都有详细的介绍,具体如下:

  location / {

# This is cool because no php is touched for static content.

# include the "?$args" part so non-default permalinks doesn't break when using query string

try_files $uri $uri/ /index.php?$args;

}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

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

  # 这个规则很酷,因为静态内容根本不接触PHP

  # 收录“?$args”的目的是即使使用了非​​默认的永久链接,在使用查询字段时也不会被销毁。

  所以正确的 wodpress 规则是:

  location /

{

try_files $uri $uri/ /index.php?$args;

}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

  宝塔面板已经默认改了,我们看图:

  

  三:总结

  5.9版本无人值守,所以看到的人也赶紧更新自己的wordpress伪静态规则。当然,WordPress官方给出的规则还是非常强大高效的,而且也兼顾了安全性!

  3.1如何更换?

  如果是6.X,可以升级到最新版本。之后,您可以自行更改默认的伪静态规则。如果是5.9,你可以把这个最新的规则复制到你的默认值。在 wodpress 伪静态文件内部,您可以稍后保存。

  如果你不关心上一个,你可以使用它。如果你有强迫症,你可以换一个新的。

  参考资料:

  ... /食谱/wordpress/

  内容

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线