apache 301重定向配置实例

发布时间:2020-11-07编辑:脚本学堂
本文介绍了apache将不带www域名301重定向到带www的域名的配置方法,apache 301重定向的配置方法,有需要的朋友参考下。

在做网站优化时,会遇到这样的问题:
带www前缀的域名与不带www前缀的顶级域名收录情况是不同的。这个问题主要是由于搜索引擎对于顶级域名与二级域名权重判定不同造成的。
毫无疑问地,唯一的域名能够给你带来更多的好处。不管它是带www还是不带www。
因为,这样无论用户还是搜索引擎都会记住你网站的唯一域名。也不会造成权重的分流。

如何在.htaccess 中强制用户或搜索引擎重定向到唯一的域名上。
 

复制代码 代码示例:

#强制重定向到www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^jb200.com/ [NC]
RewriteRule ^(.*)$ http://www.jb200.com/$1 [L,R=301]

#强制重定向到不带www的顶级域名
RewriteEngine On
RewriteCond %{HTTP_HOST} !^jb200.com/$ [NC]
RewriteRule ^(.*)$ http://jb200.com/$1 [L,R=301]

apache301重定向的配置代码

Apache下301重定向代码(WINDOWS 2003 + APACHE 本文仅限apache服务器使用。)

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下
 

复制代码 代码示例:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^jb200.com [NC]
RewriteRule ^(.*)$ http://www.jb200.com/$1 [L,R=301]

2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.baidu.com/$1 [L,R=301]

3)使用正则进行301重定向,实现伪静态
 

复制代码 代码示例:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+).html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

Apache下vhosts.conf中配置301重定向

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
 

复制代码 代码示例:

<VirtualHost *:80>
ServerName www.baidu.com
DocumentRoot /home/fari001Com
</VirtualHost>

<VirtualHost *:80>
ServerName faribaidu.com
RedirectMatch permanent ^/(.*) http://www.baidu.com/$1
</VirtualHost>

Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读apache文档。