有一个网站,由于之前没规划好,把网站上的很多栏目做成了二级域名。比如:mm.xxoo.com
对应的目录是 www.xxoo.com/mm/
gg.xxoo.com
对应的目录是 www.xxoo.com/gg/
由于运营思路调整,需要取消二级域名,那么此时不能唐突地直接去掉解析,改掉网站上的url,这样之前做的推广,发的外链效果就完全失效了,且造成网站大量死链。因此,唯一的方法是做301重定向。
在nginx下,找到mm.xxoo.com
对应的conf配置文件,在配置文件里添加如下代码:
location ~* ^/(.*) {
rewrite ^/(.*)$ http://www.xxoo.com/mm/$1 permanent;
}
.
在gg.xxoo.com对应的conf配置文件里,添加如下代码:
location ~* ^/(.*) {
rewrite ^/(.*)$ http://www.xxoo.com/gg/$1 permanent;
}
以此类推,其他二级域名也做类似处理。这样就实现了 xx.xxoo.com/
及其下面所有的页面 301重定向 到了www.xxoo.com/xx/
及其下面所有的页面.
ps:在nginx新建二级域名虚拟主机时,我习惯了给每个二级域名添加一个conf,所以上面是需要一个个conf修改的,虽然繁碎,但还是很保险。