我不想向 API 添加任何版本控制逻辑。如果我在 nginx.conf 中使用通配符子域和正则表达式来确定子域部分,我可以将请求路由到特定目录。这是配置:
server {
listen 80;
server_name .api.domain.com;
set $version $host;
if ($version ~ "^(.+).api.domain.com") {
set $version $1;
}
access_log /var/log/nginx/$version-access.log;
error_log /var/log/nginx/$version-error.log info;
location / {
root /opt/webapps/app_$version/www/;
index index.php;
}
}
问题:这种技术有什么缺点吗?