nginx配置访问域名跳转

2025-03-27 14

《nginx配置访问域名跳转》

当我们需要实现不同域名之间的跳转时,Nginx是一个非常高效且常用的解决方案。通过简单的配置,就能将用户对一个域名的访问请求重定向到另一个指定的域名。

一、基本思路与简单配置

最直接的方式是利用Nginx的rewrite模块。在Nginx的配置文件中,找到对应站点的server块。例如,如果我们要将www.old - domain.com跳转到www.new - domain.com,可以在server块内添加如下代码:


server {
    listen 80;
    server_name www.old-domain.com;</p>

<pre><code>location / {
    rewrite ^/(.*)$ http://www.new-domain.com/$1 permanent;
}

}

这段代码中,listen 80表示监听80端口(即http默认端口),server_name指明了要处理的旧域名。location /匹配所有请求,在其中使用rewrite指令,^/(.*)$表示匹配所有url路径并捕获为$1,然后将其重写为新域名加上原来的路径,并且permanent表示301永久重定向。

二、使用return指令

除了rewrite,还可以使用return指令来实现更简洁的跳转。代码如下:


server {
    listen 80;
    server_name www.old-domain.com;</p>

<pre><code>location / {
    return 301 http://www.new-domain.com$request_uri;
}

}

这里return 301直接返回301状态码和目标地址,$request_uri会自动带上原始请求的uri部分。

三、针对https的跳转

如果涉及到https,情况会稍微复杂一点。如果是从http跳转到https的新域名,可以这样配置:


server {
    listen 80;
    server_name www.old-domain.com;</p>

<pre><code>location / {
    return 301 https://www.new-domain.com$request_uri;
}

}

server {
listen 443 ssl;
server_name www.old-domain.com;

ssl_certificate     cert.pem;  #证书路径
ssl_certificate_key cert.key;  #私钥路径

location / {
    return 301 https://www.new-domain.com$request_uri;
}

}

个server块处理http请求的跳转,第二个server块处理https请求的跳转,同时要注意ssl相关证书的配置。

以上就是Nginx配置访问域名跳转的几种常见方式,根据实际需求选择合适的方法进行配置即可。

Image

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载