2015-12-29 3 views
5

Grundsätzlich habe ich einen Catchall-Server-Block für sagen *.example.com. Ich möchte beide somename.com und somename.example.com funktionieren (dh für somename.com/whatever und somename.example.com/whatever durch den gleichen Serverblock gehen und zum gleichen Ergebnis führen), so dass es keine Umleitung gibt. Es könnte mehrere URLs geben, die auf verschiedene Subdomains abgestimmt werden müssen, also ist vielleicht map der beste Weg zu gehen? Ich bin unsicher, würde jede mögliche Führung in dieser Angelegenheit schätzen!Mit Nginx Url zu Subdomain neu schreiben, machen Sie es zugänglich durch beide

EDIT: Es gibt nur eine Wurzel, die alles behandelt (und die App verwendet die Subdomain als eine wichtige Eingabe), aber es erwartet eine Subdomain, die das Umschreiben der Domäne macht, so dass eine Subdomain so wichtig ist.

+0

dies relevant ist? http://stackoverflow.com/questions/14711666/mapping-subdomains-to-urls-with-nginx?rq=1 –

Antwort

0

Eine Karte ist eine gute Idee, aber Sie brauchen sie vielleicht nicht. Wenn Sie eine Konvention übernehmen, bei der somename der Name Ihres Arbeitsverzeichnisses ist, können Sie ein benanntes Capture als Variablenstammverzeichnis verwenden. Die folgende Regex server_name Richtlinie sollte sowohl abc.example.com und abc.com entsprechen:

server { 
    server_name ~^(?<somename>[^\.]+)(\.example)?\.com$; 
    root /var/www/$somename; 
} 
+0

Leider gibt es nur eine Wurzel, die alles behandelt, aber es erwartet eine Subdomain, die das Umschreiben macht die Domain, so dass eine Subdomain so wichtig ist. – Cenoc

Verwandte Themen