サブドメイン(サーバーを指すワイルドカードドメインがあります; *.domain.com
)を作成するための書き直しを見つけることができました。
test.domain.com
に移動すると、次の方向を横切るように問題なく動作します。
/var/www/domain.com/www/test/
example.test.domain.com
を実行すると、次のようになります。
/var/www/domain.com/www/test/example/
これはtest
ディレクトリ内の別のディレクトリです。
これは私が使用していることがわかった書き直しですが、これに2つのディレクトリサブドメインをどのように実装する必要がありますか?
if ($Host !~* ^www\.domain\.domain$) {}
if ($Host ~* ^([^.]+)\.domain\.com$) {
set $auto_subdomain $1;
}
if (-d /var/www/domain.com/www/$auto_subdomain) {}
if (-f /var/www/domain.com/www/$auto_subdomain$uri) {
rewrite ^(.*)$ /$auto_subdomain$uri;
break;
}
/var/www/domain.com/www/example.test/
の代わりに/var/www/domain.com/www/test/example/
を試してください
更新:実際にあなたがやろうとしているのは、2番目の仮想ホストであり、それ以上のものではありません。このnginx構成を試してみませんか?
server {
# Replace this port with the right one for your requirements
listen 80 [default|default_server]; #could also be 1.2.3.4:80
# Multiple hostnames separated by spaces. Replace these as well.
server_name domain.com test.domain.com example.test.domain.com *.domain.com; # Alternately: _
root /var/www/$Host;
error_page 404 errors/404.html;
access_log logs/star.yourdomain.com.access.log;
index index.php index.html index.htm;
# serve static files directly
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_intercept_errors on;
# By all means use a different server for the fcgi processes if you need to
fastcgi_pass 127.0.0.1:YOURFCGIPORTHERE;
}
location ~ /\.ht {
deny all;
}
}
そして、各ドメイン/サブドメインのディレクトリを作成するだけです。
/var/www/domain.com
/var/www/test.domain.com
/var/www/example.test.domain.com
ソース: http://wiki.nginx.org/VirtualHostExample
また、nginx仮想ホストに関してSlicehostからこのHOWTOをチェックアウトしてください http://articles.slicehost.com/2008/5/16/ubuntu-hardy-nginx-virtual-hosts
これはワイルドカードサブドメインでは機能しないと思います。 * .test.domain.com内にあるtest.domain.comの新しいゾーンを追加する必要があります