我有一些开发人员,他们将在其本地计算机上编辑多个WordPress网站.我想一次为他们设置Nginx,而无需他们将来编辑配置文件.通常,当将Nginx配置为承载wordpress时,将包含诸如以下的位置块:
location / {
try_files $uri $uri/ /index.PHP$is_args$args;
} # End location
在我们的情况下,每个WP站点都将位于其自己的子目录中.因此,当开发人员需要查看网站时,他们将在浏览器中转到以下网址:
http://localhost/site1
http://localhost/site2
http://localhost/site3
我们希望上面的location指令包含子目录.到现在为止,它仅包含根(http://localhost),而不包括子.我认为这需要某种通配符或正则表达式,但是我不确定.
换句话说,我想我正在寻找一个位置块,例如:
location /all-subdirectories {
try_files $uri $uri/ /whatever-subdirectory/index.PHP$is_args$args;
} # End location
这有意义还是我走错了路?
解决方法:
您可以使用正则表达式位置来捕获URI的第一部分,例如:
location ~ ^(/[^/]+) {
try_files $uri $uri/ $1/index.PHP?$args;
}
或使用具有一个或多个重写语句的命名位置,例如:
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^(/[^/]+) $1/index.PHP last;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。