Wenn Sie einfach eins nach dem anderen setzen, werden sie nicht in Alternativen umgewandelt - es wird nur eine Sequenz erstellt. Sie erlauben eine Reihe von Wortzeichen und dann einen Bindestrich. Zum Beispiel subdom-.example.com
.
Sie müssen diese Klassen explizit als Alternativen markieren, z . B. (\w|-)
oder [\w-]
.
server_name "~^(?<subdomain>(\w|-)+)\.parentdomain\.com$"; server_name "~^(?<subdomain>[\w-]+)\.parentdomain\.com$";
(Denken Sie darüber nach: Wenn PCRE automatisch alles in Alternativen umwandelt, würde das Wort "Parentdomain" in der Regex nicht "Parentdomain" zulassen) - es würde entweder "p" oder "a" oder "r" oder "e" zulassen " oder...)