サーバーにNginxをインストールしたばかりで、その結果には非常に満足していますが、ワイルドカード仮想ホストを挿入する方法がわかりません。
これは私が欲しい[ディレクトリ]構造です:
-- public_html (example.com)
---subdoamin 1 (x.example.com)
---subdomain 2 (y.example.com)
ただし、ごく基本的なことがわかるので、新しいサブドメインのAレコードを追加するだけでドメインを追加できるので、public_htmlの下にある同じ名前のサブディレクトリをすぐに参照できます。
ウェブ上にはいろいろありますが、私はこのようなものに出くわしていません。
どんな助けでも大歓迎です。
お見せします。
server {
server_name example.com www.example.com;
root www/pub;
}
server {
server_name ~^(.*)\.example\.com$ ;
root www/pub/$1;
}
2つのテストファイルがあります。
$ cat www/pub/index.html
COMMON
$ cat www/pub/t/index.html
T
静的サーバー名:
$ curl -i -H 'Host: example.com' http://localhost/
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Wed, 23 Mar 2011 08:00:42 GMT
Content-Type: text/html
Content-Length: 7
Last-Modified: Wed, 23 Mar 2011 07:56:24 GMT
Connection: keep-alive
Accept-Ranges: bytes
COMMON
$ curl -i -H 'Host: www.example.com' http://localhost/
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Wed, 23 Mar 2011 08:00:48 GMT
Content-Type: text/html
Content-Length: 7
Last-Modified: Wed, 23 Mar 2011 07:56:24 GMT
Connection: keep-alive
Accept-Ranges: bytes
COMMON
そして正規表現サーバー名:
$ curl -i -H 'Host: t.example.com' http://localhost/
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Wed, 23 Mar 2011 08:00:54 GMT
Content-Type: text/html
Content-Length: 2
Last-Modified: Wed, 23 Mar 2011 07:56:40 GMT
Connection: keep-alive
Accept-Ranges: bytes
T
これが私が処理した方法です Nginxを使用した仮想ホスト :
server_name ~^(?<vhost>.*)$;
root /srv/www/$vhost;
access_log /var/log/nginx/$vhost.access.log;
親フォルダー内のワイルドカードサブドメイン が間違っている/誤解している理由がわかりません。