作为一些著名的站长,使用宝塔面板的小白在使用面板时遇到了一个小坑
不能说是坑,也不是面板的问题,只是一个常见的问题
常见的 WordPress 伪静态都是这样的:
location / {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;}}
宝塔面板的 WordPress 伪静态多了一点:
index index.html index.php; rewrite /wp-admin$ $scheme://$host$uri/ permanent;
这个 index 有什么用?这是一个优先级的东西,表示 index.html 比 index.php 如果两个页面同时存在,则优先级较高 index.html 页面
然后看看宝塔站管理中的默认文件:
index.phpindex.htmlindex.htmdefault.phpdefault.htmdefault.html
然后在配置文件中查看配置文件 server 也是这样
index index.php index.html index.htm default.php default.htm default.html;
看着 index.php 的优先级比 index.html 高,但在网站目录中建立一个新的 index.html,会发现还会显示 index.html 的内容
我没有仔细看。我以为这是宝塔的问题。结果,我错了。笛声大大打破了梦中的人。看看你的伪静态
发现还有一个 index 在,而且 index.html 前面,修改后正常
同时,对伪静态设置进行了优化。笛声发表了一篇文章,说之前默认的伪静态是通过加载外部的 PCRE 实现规则,外部事物,效率肯定不高
通过核心模块中有一种 try_files 指令实现伪静态,只需配置一行代码
location / {try_files $uri $uri/ /index.php?$args;}
就这样,直接取代宝塔默认的伪静态是不必要的
修改后,我觉得页面访问有点快。我不知道这是否是一种心理影响。
查看完整 try_files 实现 WordPress 伪静态