我很新的nginx的,所以请原谅我,如果我的解释是关闭。 我会尽我所能解释什么,我想要的目的。
使用WordPress和nginx的,我想用户帐户被映射到主域的子域。 例如,如果用户创建称为“样品”的帐户,该用户的子域将是sample.example.com
。
当用户进入sample.example.com
,子域应该映射到example.com/sample/
。 同样,如果用户访问sample.example.com/account/
,它应该映射到example.com/sample/account/
,等等等等。 应当指出的是, example.com/sample/
网址是这种类型的结构的重写: example.com/index.php?user=sample
。
也有一些保留的子域不应被重定向 ,如CDN和管理。 他们应该通过这些规则会在请求被忽略。
如何在用户创建一个帐户可以自动我做到这一点? 这里的目标是自动化 - 一旦正确设置它,不用担心。 既然我已经从字面上刚开始前几天跟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
文件,如果我希望它是自动的,而我积极努力学习如何实现这一目标。 我只是坚持我在哪里,现在,我期待的任何建议/帮助,会指出我在正确的方向。 我渴望学习!