【发布时间】:2013-07-18 12:35:44
【问题描述】:
我的域上启用了通配符子域。我使用它是为了可以将 es.domain.com 之类的 URL 重写为 domain.com/page.php?lang=es 并向用户显示 page.php 的本地语言版本。
我看到允许通配符子域的一个潜在问题是人们可以链接到www.es.domain.com 甚至anything.they.like.domain.com,它会显示一个完美运行的网站克隆。我认为这种“重复内容”对 SEO 不利。
任何人都可以想出一个 RewriteRule 来检测超过 2 个字母的子域(www. 当然不包括在内)并且 301 将违规网址重定向到干净的基础 domain.com?当我考虑像 domain.co.uk 这样看起来已经在子域上的域时,我遇到了麻烦。
作为旁注,在 url 的另一侧是否对 SEO 有任何类似的含义,以及查询参数?例如,domain.com?param=anything-I-like 肯定会显示重复页面。 Google 如何处理这些内容?
更新:
这是我目前使用的重写规则。如果我想用 PHP 清理错误的 url,我需要修改它以捕获所有子域。我需要一般地执行此操作(不指定 domain.com),因为它将在 CMS 上使用。有什么建议吗?
RewriteCond %{HTTP_HOST} ^([a-z]{2})\.
RewriteRule p/(.*) page.php?p=$1&lang=%1
【问题讨论】:
标签: apache .htaccess mod-rewrite