如何实现域名的跳转?

如何实现域名的跳转?,第1张

域名跳转也就是平常所说的网站301重定向,由原来网站指向A地址的,但你想输入网址后,转到B地址上,这就是域名跳转,也称为Url转发,一般适用于在多个域名绑定同一个建站CMS的根目录的时候,在做搜索引擎排名的时候和避免让用户记住多个域名的情况下应用。

域名的跳转分为几种情况。有301跳转(301是永久重定向),也有302临时域名转移。一般我们做跳转的时候都是选择做301跳转。因为就优化角度来说,302不适用于网站优化。

进行301跳转的话有三种方法。

第一种:web服务器做301跳转。

这种情况适用于独立服务器或者VPS使用。设置方法(以IIS6.0服务器为例):

远程连接到你的服务器。然后打开IIS,在网站那里,右键-属性-网站-IP地址那里点编辑增加一个站点,增加一个站点,绑定的一下主机头,也可以绑定多个闲置域名。

打开IIS,首先新建立一个站点,随便对应一个目录。这个目录下可以为空。在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选

中“资源的永久重定向”;当然,最后要点击“应用”,完成。

其他Apache服务器进行跳转的话,可以进行第二种情况。

第二种:代码做301跳转。

这种情况比较常用的。也是最为广泛快捷的,就是在你需要跳转的网站根目录代码里面加上跳转的代码,跳转到你的目标网站。

每个CMS的301跳转代码设置方法都不一样,具体可以根据你网站所使用的CMS到网上搜索相应的代码加入到相应的位置即可。有的是加在index.php/index.htm等文件,有的是直接添加在伪静态文件,这个需要自行判断。

第三种:直接在域名做301跳转。

1、首先解析主域名,主机记录为@,记录类型为CNAME

2、接着解析带www的域名,添加记录,记录类型为CNAME

3、记录值依旧选择服务器的IP地址

4、完成后需要等待域名解释的DNS缓存才可以生效,生效后输入主域名将直接跳转到带www的域名。

一般在做跳转的时候,我们都是推荐使用前面两种方法进行做域名的跳转,尤其第一种办法,最简单快捷。而且可以立马生效。

域名转向地址转向即将一个域名指向到另外一个已存在的站点,所谓URL转发(即域名跳转),是通过服务器的技术设置,实现当访问您的域名时,将会自动跳转到您所指定的另一个网络地址(URL)。 URL转发服务尤其对于拥有一个主网站并同时拥有多个域名的用户比较适用,通过URL转发服务,您就可以轻松实现多个域名指向一个网站或网站子目录了。

前几天搭了一个论坛服务器并放到了公司的局域网里面,论坛用的是9066端口并在路由器上面做了个端口转发,而且把bbs.xxx.com这个域名也指向了公司的公网IP,因为想让用户在访问的时候不用输入端口号于是就想在公司的web服务器上面做个跳转,将访问bbs.xxx.com的请求都转到他的服务器上面去。我第一个想法就是 用 nginx的rewrite,过程很简单 配置如下:

server {

listen 80

server_name bbs.xxx.com

rewrite "^/(.*) " http://bbs.xxx.com:9066/ 1 break

}

于是访问bbs.xxx.com检查了一下,注册,登录发帖等等操作都正常,本以为这样就ok了,结果随后问题出现了,虽然能正常的跳转但是 用户浏览器的域名栏上的地址后面一直跟着 9066 这个端口号,这让领导很不满意,于是我找了下nginx的文档和在qq群问了下别的朋友,没有什么好办法。于是就改用了 proxy_pass,这个配置也很简单:

server {

listen 80

server_name bbs.xxx.com

location / {

proxy_pass http://bbs.xxx.com:9066/

}

}

然后再访问 bbs.xxx.com 后面的端口号就不在了,注册、登录、发帖都正常,可是不一会儿又出问题了,用户反映论坛无法注册,提示说“单一ip一天内只能注册5次”,这是怎么回事,通过检查日志后发现 所有公网发过来的请求竟然都是 网关的ip地址 ,这下我明白了简单的加了proxy以后如果不进一步设置的话 nginx是不会去判断真正的客户端ip的,而是直接把路由的地址作为请求ip,所以会出现上述情况,分析后查了下 nginx的wiki 于是就在上面又加了几条:

server {

listen 80

server_name bbs.xxx.com

location / {

proxy_set_header Host hostproxy_set_header X-Real-Ip remote_addr

proxy_set_header X-Forwarded-For $remote_addr

proxy_pass http://bbs.xxx.com:9066/

}

}

改完以后 reload 了一下nginx,发现日志里面的源ip已经是真实的客户端地址了,重新注册,登录,发帖,都正常,重复了多次后没有发现问题,客户那里也都正常了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/807905.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-29
下一篇2023-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存