LNMP环境下如何设置 不带Www和带Www的301跳转


放弃 WDCP 转 Lnmp 一键包原因

最近购买了vultr 的 $5 VPS,小内存不太适合安装面版,以前用习惯使用的WDCP面版也就不太适合安装了。自然军哥的LNMP一键包就是首选。

www 与 没www 解析错误

但因为第一次用,在 绑定网站过程中选择出现了些错误,导致只绑定了www的域名,而没www的域名并没有正确解释。

按照经验,这应该是vhost添加过程中出现的小问题,属于301跳转的范围,这时代遇见问题当问百度。经常搜索并测试,确实只需要做少少的修改,就能解决 LNMP下,带www与不带域名 访问不同文件夹的问题。

环境是Lnmp
以下的所有操作都是基于 Centos6.x 中顺利安装的LNMP 环境进行的,本文只是做个笔记防止时间长了又给忘记了。

以本站 www.zctou.com 为例:

值得的注意的是,

LAMP中是可以使用.htaccess文件(一般都放置在每个网站根目录文件夹)来添加301代码实现跳转。

LNMP中,则只能通过修改vhost的 .conf 文件来进行rewrite

LNMP一键安装包, .conf文件位于 /usr/local/nginx/conf/vhost/ 目录中,

然后是根据你绑定的网站url命名找到.conf文件,网站的.conf文件位于/usr/local/nginx/conf/vhost/www.zctou.com.conf

找到并修改这个文件, 添加一段301代码即可:

修改 .conf 配置

SSH登录VPS并调出命令窗口,使用 vi /usr/local/nginx/conf/vhost/www.zctou.com.conf 即可编辑.conf文件,Vi命令的使用这里就不再重复了。

这是 .conf 的文件内容:

server
{
listen 80;
#listen [::]:80;
server_name www.zctou.com;
index index.html index.htm index.php default.html default.htm default.php;
root  /home/wwwroot/www.zctou.com;
include wordpress.conf;
#error_page   404   /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
}

location ~ .*\.(js|css)?$
{
expires      12h;
}

location ~ /\.
{
deny all;
}

access_log off;
}

#这部份是后面添加的

server {
server_name zctou.com;
rewrite ^(.*) http://www.zctou.com$1 permanent;
}
  • 方法一: 修改方法是在文件末尾“}”的后面添加以下代码
server {
server_name zctou.com;
rewrite ^(.*) http://www.zctou.com$1 permanent;
}

保存后重启nginx服务即可验证成功把 无www 跳到 3w 网址上。

  • 方法二: 把 3w 和 无www 的网站 分别建2个server,然后把 无www 的站 跳转到 带www 的站

    • LNMP环境下如何设置 不带Www和带Www的301跳转
    • 修改 zctou.com.conf, server_name 后添加 return 301 http://www.zctou.com$request_uri;
    • LNMP环境下如何设置 不带Www和带Www的301跳转

修改完重启nginx:

/etc/init.d/nginx restart,

或者直接重载Lnmp

lnmp restart

重启完测跳转成功,当然带3w要跳转不带3w的方法一样,换个server而已。

文章目录