apache的UseCanonicalName

本文深入探讨了Apache HTTP Server的UseCanonicalName指令,包括其功能、工作原理以及如何在网站跳转场景中利用这一特性实现从一个站点到另一个站点的302跳转。通过配置DNS和ServerName,使得用户访问特定IP地址时能够自动跳转到预设的站点目录,从而优化网站访问路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天要做一个302跳转 a站 跳到 c站,跳转是在b站上做的,本来我以为是在a站的 根目录下 代码里直接加的跳转,可是我找了一下 没有,继续找原因:
发现apache有这么一个项:
UseCanonicalName on
大概意思就是说 如果你直接访问某个站点的ip,如果你在httpd.conf里面设置了这个ip的ServerName
那么就直接跳到这个站的目录下访问 。。
所以我a站的dns 我直接指向b的A记录,我在httpd.conf里面设置了b这个站点的ServerName,里面又做了a站过来的跳转

所以 我现在访问a可以302到c了

When set to on, this directive configures the Apache HTTP Server to reference itself using the value specified in the ServerName and Port directives. When UseCanonicalName is set to off, the server instead uses the value used by the requesting client when referring to itself.
UseCanonicalName is set to off by default.

下面是详细解释:
UseCanonicalName指令
语法:UseCanonicalName On | Off | DNS
默认:UseCanonicalName Off
这个指令用来构造Apache的自引用URL(一个指回相同服务器的URL)。

UseCanonicalName .:会将ServerName设置的域名用于所有的自引用URL、SERVER_NAME、CGI中的SERVER_PORT。比如:如果你的web服务器有自己的域名,并且在DNS中有对应的NS记录,而且httpd.conf将ServerName设置了域名,那么你在浏览器中输入http://192.168.120.240/bbs,它会自动将这个IP地址变成其对应的域名,比如http://www.bob.com/bbs/ 。此时,如果其他客户端的电脑不能正确的解析web服务器的这个域名,那么在访问这个web服务器时将会出现问题。因为web服务器会自动将IP地址转变成域名。

UseCanonicalName Off:如果客户端提供了主机名和端口,Apache将会使用客户端提供的这些信息来构建自引用URL。这些值与用于实现基于域名的虚拟主机的值相同,并且对于同样的客户端可用。CGI变量SERVER_NAME和SERVER_PORT也会由客户端提供的值来构建。

UseCanonicalName DNS:本设置用于为大量基于IP的虚拟主机支持那些不提供“Host:“头的浏览器使用。使用这个选项时,Apache将对客户端连入的服务器的IP地址进行DNS反向解析,以构建自引用URL。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值