专注是一种工匠精神

泛域名重定向配置(301 redirection)

文章目录
server
{
    listen 80;
    listen 443 ssl http2 ;
    server_name google.com www.google.com ~^(?<subdomain>.+)\.google\.com$;

if ($host != 'www.google.com'){
            return 301 http://www.google.com$request_uri;
        }
}

 

^(?<subdomain>.+)\.domain\.com$ 和 ^(?<subdomain>[0-9]+)\.domain\.com$ 有什么区别?

  1. ^(?<subdomain>[0-9]+)\.domain\.com$
    • 匹配:只匹配以一个或多个数字作为子域名的域名。
    • 示例123.domain.com, 4567.domain.com
    • 不匹配abc.domain.com, a1b2.domain.com

    详细解释:

    • ^:匹配字符串的开始。
    • (?<subdomain>[0-9]+):一个命名捕获组,名为 subdomain,匹配一个或多个数字 [0-9]+
    • \.domain\.com$:匹配字符串以 .domain.com 结尾。
  2. ^(?<subdomain>.+)\.domain\.com$
    • 匹配:匹配以一个或多个任意字符作为子域名的域名。
    • 示例abc.domain.com, 123.domain.com, a1b2.domain.com, -_.domain.com
    • 不匹配domain.com (没有子域名的情况)

    详细解释:

    • ^:匹配字符串的开始。
    • (?<subdomain>.+):一个命名捕获组,名为 subdomain,匹配一个或多个任意字符 .+
    • \.domain\.com$:匹配字符串以 .domain.com 结尾。

总结

  • [0-9]+
    • 只匹配一个或多个数字作为子域名。
    • 更加具体和限制严格。
  • .+
    • 匹配一个或多个任意字符作为子域名。
    • 更加宽泛和灵活。

选择哪一个取决于你希望子域名部分的匹配规则。如果你只希望匹配数字作为子域名,使用第一个表达式;如果你希望子域名可以包含任意字符,使用第二个表达式。

赞(0)
未经允许不得转载:伦客网 » 泛域名重定向配置(301 redirection)

评论 1

5 + 6 =
  1. #1

    早救災阿

    匿名 5个月前 (07-16) 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 世界 美国加州三藩CloudFlare公司AS13335任播网络CDN全球节点(CLOUDFLARENET)(WorldAnyCast)回复