您的位置:首页 > 运维架构 > Apache

apache的UseCanonicalName

2015-12-15 09:52 561 查看
今天要做一个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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: