基本上我有一个包罗万象的服务器块,比如 *.example.com
.我要两个somename.com
和 somename.example.com
工作(即 somename.com/whatever
和 somename.example.com/whatever
通过相同的服务器块并导致相同的结果)所以没有重定向。可能有几个 url 需要匹配到不同的子域,所以也许 map
可能是最好的方法?我不确定,希望得到有关此事的任何指导!
编辑:只有一个根处理所有内容(并且应用程序使用子域作为重要输入),但它需要一个子域,这就是重写域以便子域如此重要的原因。
最佳答案
map 是个好主意,但您可能不需要它。如果您采用约定,其中 somename
是您的工作目录的名称,您可以使用命名捕获作为变量根。以下正则表达式 server_name
指令应该匹配 abc.example.com
和 abc.com
:
server {
server_name ~^(?<somename>[^\.]+)(\.example)?\.com$;
root /var/www/$somename;
}
关于nginx - 使用 nginx 将 url 重写为子域,使其可以通过两者访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519667/