不带前缀www的域名转向到带www.域名的Apache 301转向配置样例

奶牛老爹 2011-05-04

最近一直有朋友问不带www的域名怎样跳转到带www的域名,又不影响搜索引擎优化的效果。其实很简单就做301重定向喽。

但朋友又问怎么写啊,没找到相关的资料,哎!

得空就写一个吧

一般的域名启用后都会做2种解析服务到同一个ip上,带有www的默认二级域名和不带www的,其实这会引起一系列的反映:举个例子

www.yourdomain.com/

yourdomain.com/

www.yourdomain.com

yourdomain.com

www.yourdomain.com/index.php

yourdomain.com/index.php

如果加上一些参数,比如用于来源跟踪等还会有更多无穷无尽的地址。

www.yourdomain.com/?p=

所以搜索引擎鼓励发布者把URL标准化(归一化)。首先就是域名的归一化,原先我的设置为:www.yourdomain.com/yourdomain.com为别名。现在改为yourdomain.com301转向到www.yourdomain.com

<VirtualHost*:80>

ServerNameyourdomain.com

RewriteEngineon

RewriteRule^(.*)$http://www.yourdomain.com$1[R=301,L]

</VirtualHost>

如果没有mod_rewrite也可以设置mod_alias:

RedirectMatch301^(.*)$http://www.yourdomain.com

在域名和目录的规划方面:豆瓣和FlickR都是非常干净的(完全隐藏了程序文件名的后缀,而统一规划了目录路径),而且在RSS方面豆瓣比FlickR做的更彻底。当然Wikipedia更彻底,目录结构非常扁平,根本没有目录。从而避免了很多潜在的连接混淆,而相互的引用,也因此非常集中而少歧义。

参考文档:Apache和IIS的服务器301转向配置

Options+FollowSymLinks

RewriteEngineon

RewriteCond%{HTTP_HOST}!^newdomain\.com

RewriteRule^(.*)$http://www.newdomain.com/$1[R=301,L]

相关推荐