.htaccess - 阻止谷歌将我的页面索引为 ssl

标签 .htaccess redirect ssl

我有自己的域(例如 mysite.com),但我在共享服务器上,因此我的 ssl 也是共享的。因此,如果我需要一个页面在 SSL 上,我必须使用我的主机 SSL URL(类似于 https://myhostssl.com/~mysite-com/whateverpage.html)来访问它。问题是,如果以这种方式访问​​,我根目录中的每个文档都会变成 SSL,而 Google 正在使用 SSL URL 为我的许多页面编制索引。由于 SSL 域与我的不同,它会将它们解释为好像它们来自一个完全不同的站点,这对我的 Google 排名表现有负面影响。

所以我想知道如果使用 htaccess 或 robots.txt 文件从 SSL URL 访问是否有可能阻止对这些页面的访问,以及如何做到这一点。我试过这个:

RewriteCond %{HTTPS}=on
RewriteRule ^(.*)$ http://www.mysite.com/no-ssl/$1 [R=301,L]

因此,我试图阻止 SSL 访问 no-ssl 目录中的所有文档,但它没有用。我猜是因为 SSL URL 不同。

你能给我一个提示吗?

谢谢。

最佳答案

听起来您没有访问根目录的权限,所以我认为 robots.txt 解决方案是不可能的,除非您的主机将向 https://myhostssl.com/robots.txt 添加 Disallow: 指令

与其尝试使用 .htaccess 解决问题,不如考虑使用 rel=canonical tag。 .因此,即使 URL 是通过您主机的 SSL 域传递的,被抓取的页面仍将规范化到您的域。由于 rel=canonical 支持跨域,因此在重新抓取页面后您不应该看到任何 SSL 域出现。

此外,如果您的代码库在检测到 SSL 请求时服务于不同的页面/模板,您始终可以添加 meta 标签或 X-Robots-Tag在带有 noindex 指令的 HTTP header 中。这将告诉引擎不要列出给定 URL 上的页面内容。

关于.htaccess - 阻止谷歌将我的页面索引为 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017314/

相关文章:

.htaccess - 使用 .htaccess 将 Web 根文件夹设为子文件夹?

javascript - 使用 superagent-bluebird-promise 在 Node 服务器上处理服务器重定向

http - 强制 Jetty 进行 301 重定向

tomcat - 如何配置tomcat重定向ip地址

java - 使用安全的 RESTful API

python - 升级 pip/安装 django - [SSL : TLSV1_ALERT_PROTOCOL_VERSION]

.htaccess - htaccess 子域 ssl 通配符无法打开文件

apache - htaccess 中的 url 参数问题

.htaccess - https 上的非 www 到 www

ssl - 我需要 www 和非 www 的 SSL 证书吗?