首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginx配置根域重定向到子域

在Nginx中配置一个根域名重定向到子域名是一个常见的需求,特别是在你想要将访问者从一个主域名自动导向到一个特定的子域名时。以下是如何在Nginx配置文件中设置这种重定向的步骤:

1. 打开Nginx配置文件

首先,你需要编辑Nginx的配置文件。这通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/ 目录下的某个文件中。如果你使用的是默认的配置文件,可能是 default 或者你网站的名字。

2. 配置重定向

在适当的 server 块中,你可以添加一个新的 server 块来处理重定向。这里是一个基本的示例,它将所有从 example.com 来的请求重定向到 sub.example.com

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com www.example.com;
    
    location / {
        return 301 http://sub.example.com$request_uri;
    }
}

这个配置做了以下几件事情:

  • listen 80; 指定Nginx监听80端口,这是HTTP的标准端口。
  • server_name example.com www.example.com; 定义这个 server 块处理来自 example.comwww.example.com 的请求。
  • location / { 定义对于所有请求的处理规则。
  • return 301 http://sub.example.com$request_uri; 发送一个HTTP 301永久重定向到子域名。$request_uri 是一个变量,代表原始请求的URI部分,确保整个路径和查询字符串被包含在重定向中。

3. 保存并测试配置

保存你的配置文件后,你应该测试配置文件是否有语法错误:

代码语言:javascript
复制
sudo nginx -t

如果显示 syntax is oktest is successful,那么你的配置文件就没有问题。

4. 重载Nginx

最后,应用更改需要重载Nginx:

代码语言:javascript
复制
sudo systemctl reload nginx

或者如果你不是使用systemd,可以使用:

代码语言:javascript
复制
sudo service nginx reload

这样,任何访问 example.comwww.example.com 的请求都会被重定向到 sub.example.com,保持原始请求的路径和查询字符串不变。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券