nginx - 想在 Nginx 中将 https://www.example.org 转为 https://example.org
问题描述
我想在 Nginx 中将https://www.example.com重定向到https://example.com。
我尝试使用以下代码执行此操作,但我必须重定向多个域,因此不能在返回行中提及特定的“example.com”。我有大约 30 个不同的域需要这样做。
我经历了许多建议的解决方案,但所有解决方案都使用一个不符合我要求的域。就像如果有域(example.com、example.com、xyz.com 等)都需要重定向到 https://reportivedomain(non-www)
server {
listen 443 ssl http2;
server_name www.example.com;
# redirects www to non-www. wasn't work for me without this server block
return 301 $scheme://example.com$request_uri;
}
更新:
server {
server_name "www.(.+?\.\w+)" ;
return 301 https://$1$request_uri;
}
我尝试了上面的代码,但仍然存在错误“ NET::ERR_CERT_COMMON_NAME_INVALID ”。
该网站正在使用以下
example.com
http://example.com
https://example.com
但不是将 www 添加到域,SSL 证书将颁发给非 www 域
解决方案
您可以使用下面的配置重定向。
单域
server {
listen 443 ssl http2;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
多个域
server {
listen 443 ssl http2;
server_name "~^www\.(.*)$" ;
return 301 $scheme://$1$request_uri;
}
推荐阅读
- java - 带有 @MappingTarget 的 Mapstruct 不要调用 lombok Builder build()
- html - 文本未居中对齐
- openlayers - 如何将视图位置与动画结合起来?
- r - 排斥网络边缘的文本
- sql - 如何使用分隔符分隔视图中的列元素?
- vim - 突出显示一些文本并替换为剪贴板中的内容
- javascript - 正则表达式 - 捕获标记的模板文字
- c++ - 菜单驱动程序搜索功能
- javascript - 防止反应按钮组件中的默认按钮行为(页面重新加载)
- azure-data-factory - 使用 rest api 创建在数据工厂 v2 中运行的管道