OutOfMemory.CN在上线聚客时发现google收录了一些本来该是在主域名outofmemory.cn下的网址,却收录到了ju.outofmemory.cn域名下了,最好的办法是在nginx配置中将这些地址重定向到主域名。
nginx中可以通过redirect配合正则表达式来配置重定向,如下是ju.outofmemory.cn域名的重定向配置:
server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
listen 80;
server_name ju.outofmemory.cn;
rewrite ^(/(user|code-snippet)/.*) http://outofmemory.cn$1 permanent;
rewrite ^(/tag/pd+) http://outofmemory.cn$1 permanent;
#其他和重定向无关的配置省略了
}
上面配置了两种重定向,一种是以/user或者/code-snippet开头的重定向到http://outofmemory.cn下,并将路径通过$1传过去。第二种重定向是符合/tag/p数字的路径也做同样的重定向处理。
通过nginx的301重定向还可以做整站的重定向,这在切换域名时很有用,如下是相关的配置:
假定某网站之前使用的域名是www.A.com要将此域名下的内容完全重定向到www.B.com下
server {
server_name www.A.com ;
rewrite ^(.*) http://www.B.com$1 permanent;
}
另外有时候还会遇到将A.com域名下的内容全部重定向到带www的域名下,配置也很简单:
server {
server_name A.com;
rewrite ^/(.*) http://www.A.com/$1 permanent;
}