Linux记录15-4.36
怎么为同一个网页配置第二个域名?
去改一下虚拟主机配置文件
我们希望是原来的域名外,在增加一些域名同样访问到同一个站点
原本是如下:
增加一个域名
-t验错, -s 重载一下
这时2个域名都可以访问同一个站点。
但这会对搜索引擎产生一个问题,需要以一个域名为主。
这时候就需要 域名重定向 ,就是进入的副域名都自动跳转到主域名。
域名重定向:
打开配置文件: vi /etc/nginx/conf.d/blog.aminglinux.cc.conf
加上如下的一部分,
$host —— 域名的意思
/(.*) / 斜杠后表示域名后要访问的URI
斜杠后面所有的东西我们都叫做 URI (或者叫URL),这一部分是域名下具体要跳转的内容需要括起来()补充到新的域名下。
第一个括起来的内容后面就是用 $1 对应代表, 如果有多个括号括起来,就序号顺延$2, $3......
permanent 是状态码,正常访问的状态码是200
(页面上按一下F12键,再刷新一下页面,看到的请求的链接都是状态码)
301 —— 永久重定向(Moved Permanently)
302 —— 临时重定向
304 —— (图片)缓存
404 —— 文件不存在(not found)
改好配置文件 –t 验错, -s 重新加载
成功的情况是:
原来去到blog.aminglinux.cc/?p=1 的链接成功跳转成了 www.aming.com/?p=1
自动变成:
以上是在浏览器上去测试,还可以在Linux下直接测试是否成功:
curl -x127.0.0.1:80 –I blog.aminglinux.cc/bbs/abc/1.txt
-x 指定访问的IP 和HOME
-I 只看Headers信息
可见Location:一行, 访问的域名最后跳转成了http://www.aming.com//bbs/abc/1.txt
写 rewrite 的时候,后面用 permanent 还是redirect ?(也就是用301还是302?)
除了显示的状态码会不一样,
permanent(301永久重定向),redirect(302临时重定向) 效果上没多大差异,
差别主要是个权重的问题。
为了让搜索引擎更好工作,需要让域名的权重转移,适合301永久重定向,就需要写的是permanent ,
如果是同一域名下内部文件的跳转,用 redirect 。
(比如www.aming.com/1.txt 跳到 www.aming.com/2.txt )
但是注意一点,就是rewrite只会跳转一次,所以域名必须是用主域名,不然就把跳转的一次机会浪费掉了导致内部文件没有跳转
可见redirect 后的状态码显示:302 (临时重定向)
所以
如果是域名的跳转用 301
如果不涉及域名的跳转用 302