Nginx:子目录中的多个PHP站点

时间:2014-07-18 08:36:41

标签: php nginx virtualhost statamic

我已经把头发拉了几个小时了。

我的[statamic CMS]网站正在临时服务器的子目录中运行。

  • domain.com/site1 /
  • domain.com/site2 /
  • domain.com/site3 /

我正在使用和Statamic提供的NGINX conf:

https://gist.github.com/jackmcdade/3866603

我这样修改过:

https://gist.github.com/LkeMitchll/b6d8aea6c0845e3a341f

一切正常但......

...当我导航到 domain.com/site1/_config/users/admin.yaml 时,我可以不受限制地下载文件!(!!) < / p>

有问题的NGINX配置行是:

location ~ /.(yml|yaml|html) { deny all; }

我尝试过以下但没有运气:

location ~ /(site1|site2|site3)/.+\.(yml|yaml|html) { deny all; }

说实话,我在NGINX上是一个完整的n00b,并且它比Apache更难以使用。

所以我的问题是如何修改上述语句以限制对.yaml和.html文件的访问?

感谢。

LM

1 个答案:

答案 0 :(得分:2)

试一试。它需要$来匹配字符串的结尾。

location ~* (?:\.(?:yml|yaml|html)|~)$ {
    deny all;
}