nginxは httpサーバーのフロントエンドとして使用され、ユーザーディレクトリの実際の場所は/ users / bob /であると理解されています。
bob.someblog.comドメインとそのすべてのサブディレクトリをsomeblog.com/users/bob/にプロキシするには、次のnginx設定を使用できます。
#someblog.com サーバー{ 聞く11.22.33.44:80; server_name someblog.com * .someblog.com; 文字セットutf8; 場所/ { #ユーザードメインへのプロキシ/ users / $ユーザー名 if($ host〜* "^(([a-z0-9 _ \-] +)\。someblog \ .com)$"){ set uid $ 2; リライト^(。*)$ / users / $ uid $ 1 break; } ...
[a-z0-9 _ \-]-この文字クラスは、ユーザー登録ルール、つまり、名前を構成できる有効な文字のセットによって決定されます。
唯一のマイナスは、 www.someblog.comのようなアドレスを使用することの不便さです。解決策の1つは、訪問者をsomeblog.comにリダイレクトすることです。
if($ host〜* "^ www \ .someblog \ .com $"){ 書き換え^(。*)$ http://someblog.com$1 last; }
UPD:私たちは、nginxなどの簡単なフロントエンドノースがなければどこにもない、この種のプロジェクトについて話している。
UPD2:議論の結果、私はまだ時代遅れであり、多くのことがある古いバージョンのnginxから解決策を引き継いだことがわかりました。 http://server-tuning.info/nginx/auto-subdomains.htmlで、もう少し新しいソリューションを読むことができます。 ありがとうugnich