如何检查是否正在使用规范化域名?Apache 301 重定向不保留引荐来源

如何检查是否正在使用规范化域名?Apache 301 重定向不保留引荐来源

我有多个设置为重定向 (301) 到我的主要域的域。但是我知道其中一些域在 SEO 方面几乎没有价值,我想摆脱它们。但我担心的是这些域下可能存在反向链接。

我检查了 Google Analytics,这些域名都没有出现,但我决定确认如果使用它们,它们是否会被注册。不幸的是,在测试中,我的 Apache 301 重定向似乎没有保留引用 URL。我知道这在很大程度上取决于客户端,但似乎共识是大多数情况下都会保留它。

  1. 现代浏览器中是否有任何设置指示它们在重定向时删除引荐来源?我在 Firefox、Chrome 和 IE 中遇到了这种情况。
  2. 我可以在服务器端做哪些事情来影响客户端保留引荐来源?
  3. 如果这是一条死路,还有哪些其他方法可以检查这些别名域是否有任何反向链接或用途?

这是我的重定向:

## Redirect non www to www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com$1 [R=301,L]

答案1

引荐来源与重定向不同。

例如,如果您调用一个页面,http://www.example.com并且该页面上有一个或多个资源(如图像、CSS 和 JavaScript 文件),浏览器也会获取它们。如果浏览器这样做,它会发送原始页面,在我们的例子中,这是http://www.example.com作为服务器的引用。即使这是最佳选择,所有现代浏览器都会这样做。只有一个例外,即原始页面是 URL,https但资源是http

现在重定向完全不同了。如果您的请求发往服务器,而服务器以 301 重定向响应,则浏览器会明白位置已更改,因此请求新位置。

但是如果 301 是针对资源(图像、css、js 等),则 refer 通常会再次发送到新位置。此处同样的例外适用于 和httpshttp见上文)。

如果用户在浏览器中输入 URL,http://example.com则浏览器将不会发送引荐来源网址(例如,此 URL 将被重定向到)http://www.example.com,因为http://example.com它不是引荐页面,而是重定向到新位置。

现在来谈谈可能的解决方案:你可以在重定向中添加一些 UTM 参数https://en.wikipedia.org/wiki/UTM_parameters。这将由 Google Analytics 跟踪。因此,您可以查看页面是否使用此 UTM 参数调用,这意味着该页面是通过重定向调用的。您可以统计该页面使用此参数调用的次数或最常使用的来源等。当然,如果有人禁用了 JS 或安装了任何反跟踪插件,那么您将不会在统计信息中看到此调用。

## Redirect non www to www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com$1?utm_source=%{HTTP_HOST}/%{REQUEST_URI}%?{QUERY_STRING}&utm_campaign=redirect [R=301,QSA,L]

相关内容