18925116655 aomiks@qq.com
知识沉淀 knowledge

nginx环境下域名重定向写到带www的方法

发布时间:2019/05/12 16:55:54 作者: 标签:nginx浏览次数:462

貌似很多习惯用Apache环境下 .htaccess 文件里的格式写在nginx环境下,比如:

server {
listen 80;
server_name www.example.org example.org;
if ($http_host = example.org) {
rewrite (.*) http://www.example.org$1;
}

}

官方说是错误的,但是也能用,既然官方都不建议这么用,而且还给出了建议如何使用,那我们还是按官方的建议来:

server {
listen 80;
server_name example.org;
return 301 http://www.example.org$request_uri;
}

server {
listen 80;
server_name www.example.org;

}

以上主要是单独用一个服务器配置来写,对于重写的规则方式还有如下几种:

server {
server_name  example.com;
rewrite ^(.*)$ http://www.example.com$1 permanent;
}

 

另外补充说明一点:

301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。

302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。

permanent代表301永久跳转,改为redirect则为302临时跳转。主要针对seo。

官方文档:http://nginx.org/en/docs/http/converting_rewrite_rules.html