配置301重定向后Nginx反向代理无法启动的问题求助
Nginx重定向配置报错:unknown "example" variable 解决方案
你的错误出在重定向语句里的$example.com——Nginx会把$example识别为一个未定义的变量,因此启动时抛出unknown "example" variable的错误。
修正后的配置如下:
server { listen 80; server_name www.example.com; # 直接写死目标域名,避免变量识别错误 return 301 https://example.com$request_uri; } server { listen 80; listen [::]:80; server_name example.com; root /var/www/example.com/html; index index.html; }
如果需要适配多个带www前缀的域名跳转,也可以用正则匹配实现动态重定向:
server { listen 80; # 匹配所有www.开头的域名,捕获主域名部分 server_name ~^www\.(?<domain>.+)$; # 使用捕获到的主域名变量拼接重定向地址 return 301 https://$domain$request_uri; }
修改后可以先执行nginx -t验证配置语法,确认无错误后再重启Nginx服务。
内容的提问来源于stack exchange,提问作者Stef Pinceel
相关产品推荐
相关产品推荐

