Nginx server_name regexp不能用作变量

有谁告诉我为什么我仍然会出现这样的错误?

Restarting nginx: [emerg]: unknown "domain_name" variable
configuration file /etc/nginx/nginx.conf test failed

代码的变量部分如下所示:

server {
    # if you're running multiple servers,instead of "default" you should
    # put your main domain name here
    listen 80 default;

    # you could put a list of other domain names this application answers
    server_name ^~(?<domain_name>[^\.]*)\.(?<tld>[^\.]*)$;

    # root defined by domain
    root /home/deployer/apps/$domain_name/current/;

    # access && error && rewrite log
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    rewrite_log on;

    # default location
    location / {

...
最佳答案
删除“ ^”.从

server_name ^~(?<domain_name>[^\.]*)\.(?<tld>[^\.]*)$;

server_name ~(?<domain_name>[^\.]*)\.(?<tld>[^\.]*)$;

或切换“ ^”和“〜”.字母“〜”必须是第一个.

server_name ~^(?<domain_name>[^\.]*)\.(?<tld>[^\.]*)$;

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...