【问题标题】:.htaccess redirect from subdomain to subdomain.htaccess 从子域重定向到子域
【发布时间】:2015-02-05 13:02:59
【问题描述】:

一个新客户需要我的帮助,他们的网络开发人员搞砸了 - 在草稿/测试服务器上建立了网站,但忘记阻止 Google 等。我希望在这里为社区提供帮助,我不是 HTACCESS 重定向方面的专家。

正如我所说,另一个网站开发人员在他们的草稿服务器上设置了客户草稿网站,它已经存在了几个月,但是他们忘记将其隐藏在搜索引擎中,因此内容已被 Google 等索引 - 这将触发如果 web 将新网站上线,则重复内容惩罚,新网站将无效。

我可以访问草稿站点/服务器,并且可以修改 HTACCESS 文件,因此当新站点上线时,我希望有正确的重定向。网站上有几个子域(它是一个多语言网站),所以有点棘手。

网站建立在 Wordpress 之上

网站结构在测试服务器上如下所示。所有文件页面名称和文件名都相同,只是移动到新服务器。

http://clientdomain.testserver.com
http://it.clientdomain.testserver.com
http://fr.clientdomain.testserver.com
http://es.clientdomain.testserver.com
http://de.clientdomain.testserver.com
http://ko.clientdomain.testserver.com
http://pt.clientdomain.testserver.com
http://ru.clientdomain.testserver.com
http://tr.clientdomain.testserver.com
http://cn.clientdomain.testserver.com

重定向需要到这里:

http://clientdomain.com
http://it.clientdomain.com
http://fr.clientdomain.com
http://es.clientdomain.com
http://de.clientdomain.com
http://ko.clientdomain.com
http://pt.clientdomain.com
http://ru.clientdomain.com
http://tr.clientdomain.com
http://cn.clientdomain.com

测试服务器上现有的 HTACCESS 文件如下所示

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

我非常感谢您对此的任何帮助。

有一些现有的线程包含 HTACCESS 拼图的所有部分,但我有点困惑:

如何在 .htaccess 中从一个子域重定向到另一个子域? How can I redirect from one subdomain to another in .htaccess?

亲切的问候, GG

【问题讨论】:

  • 以后不用去clientdomain.testserver.com了吗?

标签: php wordpress apache .htaccess redirect


【解决方案1】:

如果是我,我不会打扰重定向,请从索引中删除网址。谷歌将在 24 小时内删除它们,现在有时更快。

将开发域添加到您的网站管理员工具帐户并进行验证。然后去谷歌索引->删除网址;

只需在删除请求中输入值 /,它会告诉 Google 删除该域索引中的每个 url。

然后在站点根目录下添加一个阻塞的robots.txt文件;

User-agent: *
Disallow: /

而我通常做的事情(尽管 robots.txt 和基本的身份验证保护 - git 灾难/恶作剧,这在我身上发生了几次)促使 Google 立即重新索引该站点。转到抓取 -> 以 Google 方式获取

将输入框留空,以便获取整个网站,然后点击获取按钮。当谷歌获取它时,点击“提交到索引”按钮。

你会惊讶于这几天发生的速度有多快,如果幸运的话,过去需要几周时间。

编辑

为了确保其他人不会发生这种情况,阻止它获取开发站点索引的最佳方法不是 robots.txt 文件或通过 .htaccess 文件使用基本身份验证(如前所述提到很容易意外删除这些)。您应该通过 vhosts 文件在开发站点上启用基本身份验证。

【讨论】:

  • 非常好 - 非常感谢您的洞察力,从没想过这样做。我想我也必须使用 Bing 网站管理员工具来做到这一点。
  • 啊,当然可以。我忘记了必应。如果您这样做,请报告 Google 以多快的速度将它们全部删除,就像一个兴趣点一样。我曾经在一个大网站上对此感到非常恐慌,然后就去吃午饭了……当我吃完午饭回来时,他们已经走了。呸,没人注意到;)
【解决方案2】:

好像它不仅适用于 Google...
你可以用这个.htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?:..\.)?clientdomain)\.testserver\.com [NC]
RewriteRule ^ http://%1.com%{REQUEST_URI} [NE,L,R=301] 

【讨论】:

  • 是的,谢谢 Croises - 我什至可以同时使用这两种方法,Htaccess 和 deindex Google/Bing(可能做得过头了,但我想确定它是否正确完成)。再次感谢
  • 我认为 301 重定向更好。因为使用网站管理员工具,链接会丢失(对于 SEO),而使用这个 .htaccess,它会被重定向并重新编制索引。
  • 我同意,我认为301更好
猜你喜欢
  • 2011-04-29
  • 2010-11-22
  • 2023-03-17
  • 2011-08-27
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多