Nginx网站开启SSL后将带www的域名和http协议的网址全部301跳转到不带www的https域名的方法

很多朋友给网站开启SSL后,没有完全设置好301跳转,造成搜索引擎收录了各种各样的URL,非常不利于SEO,因为《百度搜索引擎网页质量白皮书》里要求每一个页面只对应一条唯一的URL。本文分享的就是是将http://zhangwenbao.com、http://www.zhangwengbao.com和https://www.zhangwenbao.com三种形式的网址完美跳转到https://zhangwenbao.com的方法。本方法在Nginx 1.10.1下测试成功,也是保哥笔记正在使用的代码分享给大家,一共分为三部分。
第一部分代码是将http://zhangwenbao.com和http://www.zhangwenbao.com跳转到https://zhangwenbao.com,代码如下:

 

第二部分代码,是开启ssl端口,将https://zhangwenbao.com域名绑443端口:

 

第三部分代码是将https://www.zhangwenbao.com也绑定443端口,同时做301跳转到https://zhangwenbao.com:

 

将上面保哥提供的三个部分的代码全部写入你网站的.conf文件里,保存后重启Nginx即可生效。记得注意修改为你的网站域名、网站目录路径、SSL证书路径和SSL证书文件名。

WordPress在Nginx下开启伪静态后台页面404路径缺少wp-admin问题

WordPress默认的伪静态规则文件是.htaccess,.htaccess文件是在Apache环境下用的,而Nginx环境并不支持.htaccess,是通过.conf文件来配置规则。Nginx下的WordPress伪静态规则配置如下:

 

加入上面的代码到网站对应的.conf文件里后,前台页面确实实现了伪静态url访问,但进入后台发现不能访问,后台所有的url地址中原来的/wp-admin/不见了,解决办法是在上面的代码后面再加入一行斜杠重定向规则,具体代码如下: