lnmp 环境设置 301 重定向的时候,首先要把域名解析到 VPS 上面,也就是不带 www 的域名和带 www 的域名都解析到 IP 上。理论上是 48 小时内生效的,也有部分国内域名商 10 分钟就可以用了,这块你得有耐心等待,也不妨碍在这期间做下面的 301 设置工作。
一、如果你使用 wordpress 博客作为网站程序,做 301 重定向只需要两步就可以完成。
1、要在 wp 管理后台的设置-常规中如下图设置。
2、需要对网站 conf 文件进行修改配置。比如我对外公开的网站域名设置为带 www 的域名,那么不带 www 的域名在 wordpress 内部会重新定向到带 www 的域名。只要如下图所示红框部分,在 lnmp 环境中的 server_name 后面把不带 www 的域名添加上去就可以了。
使用 wordpress 博客程序的到此就设置结束了,直接到站长工具检查 301 是否生效吧。
二、如果你安装其他 php 程序就需要手动设置一下了。 1、打开/usr/local/nginx/conf/vhost/你网站域名.conf,用 vi 命令修改:
省略掉部分虚拟主机 server 配置内容 server { listen 80; server_name vpsss.net; return 301 https://www.vpsss.net$request_uri; }
为了给大家提供更直观的参考,我就把改好的放上来,包括前后的命令,记得把域名改成你自己的。从下面截图可见,其实只多了红框里面的四行(截图里 www.vpsss.net 只用来举例子,wordpress 博客是不需要这么设置 301 的)。
网上有很多种 lnmp 环境 301 重定向的代码,只有这种才是 php 官方推荐的也是最正规的。
2、重启 lnmp,命令如下;
lnmp restart
或者重启 nginx,命令如下:
/etc/init.d/nginx restart
这样就完成 lnmp 环境的 301 重定向了。你可以通过浏览器网址输入不带 WWW 的域名,是不是直接跳转到带 WWW 的。
3、通过站长工具检测是否正确。
以下是 vpsss.net 的 HTTP 状态查询结果:返回状态码 301,说明重定向成功了。