regex - Nginx server_name 正则表达式不作为变量工作

标签 regex http configuration nginx

有没有人告诉我为什么我仍然有这样的错误?

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>[^\.]*)$;

关于regex - Nginx server_name 正则表达式不作为变量工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578574/

相关文章:

java - OpenShift 专业版 : How To Add Additional Folders to Tomcat's Document Base

sql - TSQL,确保@符号前至少出现一个字符

java - 匹配列表中 4 个或更多单词的正则表达式

c# - 服务器在写入响应 header 后关闭连接时出现 HttpClient 异常

javascript - surveymonkey api get_survey_list 返回错误, "No JSON object could be decoded"

python - Selenium 很慢,还是我的代码有误?

configuration - timeToLiveSeconds 和 timeToIdleSeconds ehcache 配置

java - Jboss AS 7 LdapExtLoginModule配置

regex - 在正则表达式中表达超出 $ 的匹配项

regex - 根据模式提取子串