Linux虚拟主机设置301转向的方法
什么是301转向
301转向(或叫301重定向,301跳转)是一种http返回状态码。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页终生性转移到另一个地址。
301转向的作用
通常是网站域名发生变化,或者将多个域名的权重集中到一个域名上,有利于SEO和网址规范化。(相关知识:什么是SEO )
Linux虚拟主机设置301跳转的方法:
在本地新建一个文本文件,取名为123.txt,然后用的细致的编辑器软件如DW软件,将以下代码粘入123.txt
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
</IfModule>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
</IfModule>
代码说明:上述规则是将站点所有访问域名都重定向到www.abc.com(规则中的域名请修改为自己的域名)。
如果仅想将绑定在站点上某个域名(如:www.123.com)重定向到www.abc.com,规则如下:
RewriteCond %{HTTP_HOST} ^www.123.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
如果有多种需求,如abc.com跳转到www.abc.com 456.com跳转到www.456.com,规则如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^456.com$ [NC]
RewriteRule ^(.*)$ http://www.456.com/$1 [R=301,L]
</IfModule>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^456.com$ [NC]
RewriteRule ^(.*)$ http://www.456.com/$1 [R=301,L]
</IfModule>
根据自己的需要进行添加修改,然后上传到服务器wwwroot目录,改名为.htaccess即可.
推荐阅读:网站更换域名如何做全站301重定向