400-685-0732

WJMonitor舆情之声

企业大数据智能舆情监测管理解决方案

全网监测海量数据按需发布监测预警

实时把握舆情动态精准追溯信息源头

获取验证码
企业采购 个人使用
当前位置: 首页 > SEO博客 > Nginx服务器绑定域名并配置www域名301转向

Nginx服务器绑定域名并配置www域名301转向

时间:2013-05-27 10:34:27
最近在使用阿里云服务器,给过来的服务器是裸服务器,什么都没,一些功能只能自己配置。

由于以前没用过,所以在网上找了很多教程,由于本人比较笨,只能找比较简单的教程看,那个教程是用Nginx的。所以下面说说Nginx服务器怎么绑定域名并配置www域名301转向。

比如说我们有域名example.com,然后配置我们的Nginx服务器,希望绑定两个域名不带www的example.com以及www.example.com。绑定域名可以在你的Nginx配置文件的server {}节做下述配置。
  server {
listen 80;
server_name example.com www.example.com;
}

这样配置后example.com和www.example.com都指向我们的服务器了,虽然这样没有什么,但是这对于搜索引擎是不友好的,不利于网站的SEO,所以我们需要利用301重定向一个域名到另一个域名上。

在Nginx的server节中引入$host变量,这个指代当前访客访问主机时使用的主机名(域名)。接下来我们可以利用if条件语句配合rewrite permanent方式做301定向了。

# 示例1: 将example.com定向到www.example.com
 
server {
listen 80;
server_name example.com www.example.com;
if ($host != 'www.example.com') {
rewrite ^/(.*)$ http://www.example.com/$1 permanent;
}
}

上面举了两个例子分别判断当前的请求主机域是否符合我们的要求,不符合则截取请求路径/后面的内容并附加到我们期望的url后面,同时作301永久定向(permanent)。当然这里我们使用的是不等于!=来进行判断的,如果使用等于的话就直接使用等于号(=)进行判断并将条件更改为我们不期望的主机域就可以了。

配置完成后,可以使用nginx -s reload命令进行平滑的更新配置(不重启Nginx)。
分享按钮