Wordpress $uri的Nginx原因/

Wordpress $uri的Nginx原因/,wordpress,nginx,Wordpress,Nginx,我正在查看wordpress的标准nginx服务器配置 location / { try_files $uri $uri/ /index.php$is_args$args; } 我理解$uri index.php$is_args$args的原因 我不明白$uri/ 我可以从nginx文档中看到“可以通过在名称末尾指定斜杠来检查目录的存在性,例如,$uri/” 但我不明白,什么原因会在请求时返回目录?为什么这在wordpress设置中有用?没有“根据请求返回目录

我正在查看wordpress的标准nginx服务器配置

location / {
        
        try_files $uri $uri/ /index.php$is_args$args;
}
我理解$uri index.php$is_args$args的原因

我不明白$uri/

我可以从nginx文档中看到“可以通过在名称末尾指定斜杠来检查目录的存在性,例如,$uri/”

但我不明白,什么原因会在请求时返回目录?为什么这在wordpress设置中有用?

没有“根据请求返回目录”这样的事情。但是尝试检查目录的内容,并使用它们来满足请求——这就是这里的内容

NGINX总是有一些非空的指令值(默认值是
index.html
),这就是NGINX在尝试目录时尝试提供的文件

如果满足以下两个条件,则WordPress实际上不需要
$uri/

  • 您没有保存PHP文件的自定义子目录/子网站
  • 你用的是很好的永久链接
删除
$uri/
将导致保存一个或多个系统
stat
调用(文件存在性检查),因此这是一种性能改进。特殊情况下会有一个链接
/wp admin
。使用
try_files$uri/index.php$is_args$args
将通过
/index.php
进行处理,但Wordpress将正确重定向到
/wp admin/
(带斜杠)


如果你有一个维护一个结构良好的网站的习惯,并打算使其更优化,那么你可能不需要在每个WordPress安装中都使用
$uri/
。但是如果WordPress安装在子目录中有其他
index.php
文件,那么
$uri/
参数意味着可以使用子目录的uri调用它们。