2010-12-01 9 views
3

Wir haben eine Reihe von Wildcard-Subdomains (_foo.example.com, bar.example.com usw.), die bei Zugriff über HTTPS auf die entsprechende Subdomain umleiten sollten unsere sichere Domain.Umleitung von Wildcard-Subdomains auf eine andere Top-Level-Domain mit nginx

Einige Beispiele:

Ich denke, das mit nginx Schreibungen erreicht werden kann, aber ich bin bin mir nicht sicher über die Syntax. Hier ist, was ich bin versucht:

server { 
    listen  443; 
    server_name *.example.com; 

    rewrite  ^(.*) https://*.secure.com$1 permanent; 
} 

Dies wird sich natürlich nicht, weil ich nicht den eingehenden Sub-Domain zu erfassen und es in der Rewrite verwenden.

Antwort

3

Probieren Sie etwas wie dieses (nicht getestet):

server { 
    listen 80; 
    listen 443 default ssl; 

    server_name "~^(?<name>\w\d+)\.example\.com$"; 

    rewrite ^(.*) https://$name.secure.com$1 permanent; 
} 
+0

mag ich diese Lösung und es ist für mich zu arbeiten (schwer für meine eigenen Zwecke modifiziert). – Pablo

1

Fand dieses auf http://forum.slicehost.com/comments.php?DiscussionID=730

# redirects arbitrary subdomain (some.random.sub.example.com) to (some.random.sub.example.org) 
if ($host ~* "^([^.]+(\.[^.]+)*)\.example.com$"){ 
    set $subd $1; 
    rewrite ^(.*)$ http://$subd.example.org$1 permanent; 
    break; 
} 

# Simply redirects example.com to example.org 
if ($host ~* "^example.com$"){ 
    rewrite ^(.*)$ http://example.org$1 permanent; 
    break; 
} 
Verwandte Themen