Ich versuche, eine Rewrite-Regel zu entsprechen, wenn ein gültiger Start Teil einer Domäne ist, wie zum Beispiel:Passende Teile eines regex
/asd-
/asd-f
/asd-f4.
/asd-f4.n
/asd-f4.n
/asd-f4.net
Ich möchte nicht, dass es in diesen ungültigen Start übereinstimmen Domains:
/-
/-as
/as--
/asdf.4
ich weiß, es ist nicht komplett inklusive, aber ich definieren eine gültige Domain als:
- beginnt und endet mit einem Buchstaben oder einer Zahl (ausg Der
- Be 1 Zeichen oder länger und weniger als 63 Zeichen (ohne den Punkt und den Teil)
- Enthält nur Buchstaben, Zahlen oder Bindestriche (außer dem Punkt und dem Tld Teil)
- enthält keine zwei oder mehr Bindestriche in einer Reihe
- Beendet .com, .net oder .org
Gerade jetzt meine regex Spiele gültig Domains, aber ich bin nicht wirklich bekommen wenn es nur mit einem gültigen Domain-Namen beginnt.
RewriteRule ^/(((?!-)(?!.*--)[A-Za-z0-9-](?<!-)){1,63}(\.(com|net|org)))$ /?domain=$1 [NC]
prüfen https://regex101.com/r/vq4vmF/2 –
'RewriteRule' passt nur' REQUEST_URI' nicht den Domain-Namen. – anubhava
Dies wäre viel einfacher, wenn es in eine Abfolge von Bedingungen unterteilt wäre. – covener