我在我的域上启用了通配符子域。我使用它,以便我可以重写 url es.domain.com
,并向domain.com/page.php?lang=es
用户显示 page.php 的本地语言版本。
我看到的允许通配符子域的一个潜在问题是人们可以链接到www.es.domain.com
甚至anything.they.like.domain.com
可以显示网站的完美工作克隆。我认为这种“重复内容”对 SEO 不利。
任何人都可以想出一个 RewriteRule 来检测超过 2 个字母的子域(www. 当然不包括在内)并且 301 将违规的 url 重定向到干净的基础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