私はnginxに非常に慣れていないので、説明がずれている場合はご容赦ください。私が達成しようとしていることを説明するために最善を尽くします。
WordPress と nginx を使用して、ユーザー アカウントをメイン ドメインのサブドメインにマッピングしたいと考えています。たとえば、ユーザーが「sample」というアカウントを作成した場合、そのユーザーのサブドメインはsample.example.com
.
ユーザーが に移動するsample.example.com
と、サブドメインは にマッピングされexample.com/sample/
ます。同様に、ユーザーがにアクセスした場合はsample.example.com/account/
、 などにマップする必要がありますexample.com/sample/account/
。example.com/sample/
URL は、このタイプの構造を書き直したものであることに注意してくださいexample.com/index.php?user=sample
。
cdn や admin など、リダイレクトしてはならない予約済みのサブドメインもいくつかあります。要求された場合、これらのルールでは無視する必要があります。
ユーザーがアカウントを作成するときに、これを自動的に達成するにはどうすればよいですか? ここでの目標は自動化です。一度正しくセットアップすれば、心配する必要はありません。私は文字通り、数日前に nginx を使い始めたばかりなので、どこから始めればよいかわかりません。私を正しい方向に動かすためのアドバイスは、非常に役に立ちます。ドメインの現在の構成ファイルは次のとおりです。
server {
listen 80;
server_name www.example.com;
rewrite ^(.*) $scheme://example.com$1 permanent;
}
server {
listen 443 ssl;
server_name www.example.com;
rewrite ^(.*) $scheme://example.com$1 permanent;
}
server {
listen 80;
server_name example.com;
access_log /var/www/example.com/logs/access.log;
error_log /var/www/example.com/logs/error.log;
root /var/www/example.com/public;
index index.php;
location / {
try_files $uri $uri/ @wordpress /index.php?q=$request_uri;
}
location @wordpress {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/example.com/public/index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME /index.php;
}
# Pass the PHP scripts to FastCGI server listening on UNIX sockets.
#
location ~ \.php$ {
try_files $uri @wordpress;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example.com/public$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 443 ssl;
ssl on;
keepalive_timeout 70;
server_name example.com;
ssl_certificate ssl/example.com.chained.crt;
ssl_certificate_key ssl/example.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
root /var/www/example.com/public;
index index.php;
location / {
try_files $uri $uri/ @wordpress /index.php?q=$request_uri;
}
location @wordpress {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/example.com/public/index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME /index.php;
}
# Pass the PHP scripts to FastCGI server listening on UNIX sockets.
#
location ~ \.php$ {
try_files $uri @wordpress;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example.com/public$fastcgi_script_name;
include fastcgi_params;
}
}
私が達成しようとしていることは/etc/nginx/nginx.conf
、自動化したい場合はおそらくファイルに入れる必要があることを理解しており、これを達成する方法を積極的に学ぼうとしています. 私は今いる場所で立ち往生しており、正しい方向に向けるアドバイス/ヘルプを探しています. 私は学びたいです!