ネットワーク上での新しいプロジェクトの出現により、ユーザーのサブドメイン(bob.someblog.com)を効果的に編成するタスクが誰かにとって難しいように思われることがあります。 実際、この問題は1分で解決されます。
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