下面我来详细讲解如何在nginx中配置域名和目录的301重定向。
示例一:域名重定向配置
步骤一:配置域名解析
首先,需要在DNS解析中将需要重定向的域名解析到服务器的IP地址上,例如将原始域名example.com解析到服务器IP地址为192.168.1.1的服务器上。
步骤二:配置nginx监听端口
在nginx的配置文件中,将需要进行重定向的域名和对应的端口进行监听,如下所示:
server {
listen 80;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
该配置文件的意思是,监听80端口,如果有请求的域名为example.com,则进行301重定向到https://www.example.com。
步骤三:配置重定向目的域名
在nginx的配置文件中,将需要进行重定向的目的域名及对应的站点路径进行设置,如下所示:
server {
listen 443 ssl;
server_name www.example.com;
root /usr/share/nginx/html;
index index.html;
ssl_certificate /etc/nginx/cert/www.example.com.crt;
ssl_certificate_key /etc/nginx/cert/www.example.com.key;
location / {
try_files $uri $uri/ =404;
}
}
该配置文件的意思是,监听443端口,如果有请求的域名为www.example.com,则返回当前站点根目录下的index.html文件。
步骤四:重启nginx服务
重启nginx服务,使配置文件生效。可以使用以下命令:
sudo systemctl restart nginx
这样就完成了在nginx中配置域名重定向。
示例二:目录重定向配置
步骤一:配置nginx站点
在nginx的配置文件中,将需要进行重定向的站点及对应的端口进行监听,如下所示:
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
该配置文件的意思是,监听80端口,如果有请求的域名为example.com,则返回当前站点根目录下的index.html文件。
步骤二:配置重定向规则
在nginx的配置文件中,将需要进行重定向的目录及对应的重定向目的路径进行设置,如下所示:
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
index index.html;
location /old {
return 301 http://example.com/new;
}
location /new {
root /usr/share/nginx/html/new;
index index.html;
}
location / {
try_files $uri $uri/ =404;
}
}
该配置文件的意思是,当请求example.com/old路径时,返回301重定向到example.com/new路径,并将站点根目录更改为/usr/share/nginx/html/new,返回当前站点根目录下的index.html文件。
步骤三:重启nginx服务
重启nginx服务,使配置文件生效。可以使用以下命令:
sudo systemctl restart nginx
这样就完成了在nginx中配置目录重定向。
以上就是在nginx中配置域名和目录的301重定向的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx中域名、目录的301重定向配置示例 - Python技术站