nginx域名重定向

vhost下配置文件书写如下

server
{
	listen 80;
	server_name test.com test2.com test3.com;
	index index.html index.php index.htm;
	root /data/wwwroot/test.com;
	if ($host != 'test.com'){
	  rewrite ^/(.*)$ http://test.com/$1 permanent;
	}
}

server_name 后面支持写多个域名
permanent 为永久重定向 状态码301 如果写redirect则为302

### Nginx 中配置域名重定向 为了实现老网站域名向新网站的重定向,在Nginx中可以通过修改配置文件来完成此操作。对于大多数Linux发行版,默认情况下,Nginx的主要配置文件位于 `/etc/nginx/nginx.conf` 或者是在 `/etc/nginx/sites-available/` 和 `/etc/nginx/sites-enabled/` 目录下的站点特定配置文件[^1]。 当需要将 `http://example.old.com` 重定向至 `https://www.newsite.com` 时,可以在HTTP上下文中定义一个新的server块: ```nginx server { listen 80; server_name example.old.com; # 执行永久重定向到新的URL地址 return 301 https://www.newsite.com$request_uri; } ``` 上述配置会监听来自端口80(即未加密的HTTP请求),并将所有针对 `example.old.com` 的访问请求通过状态码301 (Moved Permanently) 永久性地转向指定的新网址,并保留原始URI路径[^2]。 另外一种情况是希望除了某个特定子域外的所有其他子域都指向同一个目标位置,则可以采用如下策略: ```nginx server { listen 443 ssl; server_name old.domain.com new.domain.com example.com www.example.com; if ($host != 'www.new.domain.com') { return 301 https://www.new.domain.com$request_uri; } # SSL证书和其他设置... } ``` 这段代码片段展示了如何处理多个源主机名称并仅在它们不匹配预期的目标子域时执行重定向逻辑[^4]。 值得注意的是,在某些场景下可能还需要考虑HTTPS协议的支持以及SSL/TLS证书的相关配置;此外,确保每次更改Nginx配置之后都要测试其语法正确性和功能正常工作,这可通过命令行工具如 `nginx -t` 来验证配置的有效性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值