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

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。

在宝塔面板面板 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 顺序,把 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,我们看看 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 官方自己给的规则还是很给力和高效的而且还兼顾了安全性!如果是 6.X 的可以升级到最新版本,之后,自己更换下默认的伪静态规则就可以了,如果是 5.9 版本的,可以复制这个最新的规则到自己的默认的 wodpress 伪静态文件里面,之后保存就可。如果不在意以前的也可以用,如果强迫症可以换新的了。

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇文章主要介绍“宝塔面板mysql无法启动问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“宝塔面板mys...
这篇文章主要介绍“Docker中如何安装宝塔”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker中如何安装宝塔”文...
最近发现在宝塔的日志下看到很多垃圾支柱来爬行,这些垃圾蜘蛛爬行的日志很干扰我对于日志数据的查阅,今天查询了下关于宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布的方法,分享给大家去做下学习。希望对你
最近网站更换了服务器,安装了宝塔面板,安装好以后发现安装管理网站还是非常的直观方便的,但是有一点让我折腾了好久,那就是网站设置伪静态固定连接后,总是出现404错...
最近一段时间网站经常出现链接数据库错误,当然原因很简单,卡着了。查看宝塔面板发现负载状态经常是100%,内存使用率也是100%,CPU也不用说了,所以在网上查找...
本站之前有发表过两篇文章来通过宝塔面板优化服务器性能,《如何降低宝塔面板内存和CPU使用率,降低运行负载》以及《宝塔面板通过设置虚拟内存降低内存使用率及负载状态...
复制移动剪切的目录中不能有中文,否则会出错
不管是本地主机还是虚拟主机安装面板都是不能直接用生成的外网ip打开, windows替换ip成127.0.0.1 Linux替换ip成localhost 就可以访问了。
一键清除绑定限制 rm -f /www/server/panel/data/bind.pl
教你使用宝塔计划任务启动laravel调度器
宝塔面板是目前广受用户喜爱的服务器控制面板之一,很多用户的网站都是基于宝塔面板搭建,今天简单介绍下宝塔面板是如何安装WordPress的,方便新手用户快速部署。一、安装宝塔插件大部分使用宝塔面板的用户可能还不知
阿里云的ecs服务器(linux)安装宝塔
华为云服务器搭建宝塔Linux控制面板
新手使用阿里云esc服务器安装宝塔linux面板建站图文教程
购买完阿里云服务器后使用宝塔linux的搭建
【小白必看保姆级搭建个人网站】使用阿里云服务器与宝塔Linux快速建站
忘记宝塔密码,可以通过以下命令重置密码 cd /www/server/panel && python tools.py panel testpasswd 如果提示多次登录失败,暂时禁止
阿里云服务器部署Django项目(Linux服务器、宝塔、纯新手)1.前言
宝塔快速部署Django项目1、宝塔快速部署Django项目1、软件商店搜索python,安装`python项目管理器`2、python项目管理器>项目管理>添加项目3、映射域名4、更改网站项目地址5、完成2、常见问题与解决方法1、宝塔快速部署Django项目1、软件商店搜索python,安装python
Python的语法十分简洁,简洁到只需要一行代码,即可输出意想不到的效果。一行代码到底有什么独特的魅力,下面一起来感受一下吧!1、画一个爱心作为一个Python程序员,自从接触Python就有种爱不释手的感觉,逐渐地被它的简洁高效的代码所吸引,所有我想用一行Python代码来画出一个心形向Python