我有两个域example.com
和example.net
。
- 两者都应具有测试子域,例如
test.example.com
指向不同的根,如 root/var/www/example.com/html
和 root/var/www/test-example.com/html
。 - &将被永久重定向至
www.example.com
& 。www.example.net
example.com
example.net
在这种情况下,我的 NGINX 配置文件应该是什么样子?
最好有 2 个文件/etc/nginx/sites-available/example.com
并且/etc/nginx/sites-available/example.net
(第二个指向根目录/var/www/example.net/html
)
答案1
这是我修改后的答案原始答案对于你的第一个问题。
以下配置示例针对的是,如果您将所有的替换为/etc/nginx/sites-enabled/example.com
,则另一个可能是。/etc/nginx/sites-enabled/example.net
example.com
example.net
server {
listen 80;
server_name example.com www.example.com test.example.com;
# HTTP to HTTPS redirections for all the subdomains
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
# ssl_* directives here
# www to non-www for SEO canonical reasons
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
# ssl_* directives here
root /var/www/example.com/html;
}
server {
listen 443 ssl;
server_name test.example.com;
# ssl_* directives here
root /var/www/example.com/test;
}
- 第一个
server{}
块将普通 HTTP 连接升级为 HTTPS。 - 第二个
server{}
块将 www 重定向到非 www。 - 第三块
server{}
提供来自的文件/var/www/example.com/html
。 - 用不同的根来分离
server{}
块。test.example.com