我正在构建一个为用户帐户使用动态DNS的系统,因此您注册了一个子域。
我有一些服务器指令来捕捉像api这样的东西。和www。和其他特殊情况,我有一个指令,它读取通配符域名并使用它来设置特定于域的资产位置。
server {
server_name "~^(?<domain>[a-z0-9]+)\.example\.com$";
root /sites/core;
location /assets {
alias /site-assets/$domain;
}
}
我想要做的是检查资产目录是否存在,并在同一个域上显示不同的网站。
为了澄清,如果上面示例中的资产目录存在,则提供一组文件,否则,提供另一组文件。由于我想要提供的网站不会出现在相关目录中,因此我无法使用try_files或类似内容。
我阅读了有关使用if指令的所有恐怖故事,但我认为我需要类似
的内容if (-d /site-assets/$domain) {
... Do something
}
然后更改根目录,但这不起作用。
我是如何实现这一目标的?
答案 0 :(得分:1)
行。我想通了。如果有问题,请告诉我。
我在服务器指令
中有以下内容def detect_file(watch_folder_path):
""" Detect a file dropped """
watched_files = os.listdir(watch_folder_path)
if len(watched_files) > 0:
filename = watched_files[0]
print "File located :, filename
如果给定域名的资产目录不存在,那么我可以为我的站点提供加入页面,该页面可以获取域名并允许用户注册。如果确实存在,则提供主应用程序。
在我看来,这简单地使用了if指令,所以不应该让我遇到太多麻烦。