LNMP中http重定向到https及不带www重定向到www域名

in 建站运维 with 0 comment

LNMP是Linux下Nginx+MySQL+PHP这种网站服务器架构

Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等。本站是用的即是这种配置。

现在SSL站点是大势所趋,Google更青睐https网站。另外基于网址唯一性,减少网站重复内容等需求,最好给网站做下301重定向,将http重定向到https以及不带www和带www之间的跳转。

以下是具体步骤(基于LNMP、Nginx环境)

首先,SSH 连接服务器,用 vi 命令修改虚拟主机配置文件。

虚拟主机配置文件一般位于:/usr/local/nginx/conf/vhost/域名.conf

如下:

vi /usr/local/nginx/conf/vhost/www.nanlon.cn.conf

回车,打开配置文件后,单击 i 键进入 insert 模式,按“上下左右”四个方向键找到并添加以下两项:

1. 将所有http请求(80端口)重定向到https(443端口)

listen 80server_name 下一行添加(域名改为自己的):

return 301 https://www.nanlon.cn$request_uri;

2. 将不带www的域名重定向到www域名

listen 443 ssl http2server_name 下一行添加(域名改为自己的):

if ($host = 'nanlon.cn')
{
    return 301 https://www.nanlon.cn$request_uri;
}

修改完成后,单击 Esc 键退出 insert 模式,输入以下命令保存退出。注意英文状态下输入!

:wq

回车。然后重启一下Nginx

/etc/init.d/nginx restart

最后通过浏览器访问,测试一下重定向是否成功。

Responses