如何在apache.htaccess文件中实现301重定向
发表于
重定向Apache Web服务器上的页面或站点非常简单,是确保SEO的好方法。您可以通过修改网站上名为htaccess文件的文件来做到这一点(请注意,实际文件名以.开头)。htaccess文件 是一个控制文件,其允许在每个目录服务器的配置更改。
该文件控制该目录及其中包含的所有子目录。通常,此文件位于您网站的根文件夹中。编辑Apache文件时,编辑器以UNIX格式保存文件非常重要; 否则,可能会发生错误。
从搜索引擎优化的角度来看,目前301重定向是网站目录更改后重新定向最为可行的一种办法。在你更改地址使用了301重定向后,搜索引擎只会对新地址进行索引,同时会把旧地址下原来收录的链接转移到新地址下,而上述的这些操作并不会影响到网站在搜索引擎的排名。
实现301重定向最直接的方法是编辑.htaccess文件,在对.htaccess文件进行操作之前,一定要备份好原来的.htaccess文件,以避免修改出错带来不必要的麻烦。
重定向Domain.com到www.Domain.com
实现方法是在.htaccess文件中加入以下规则: 代码如下:RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
注:使用此301重定向方式,当你打开类似domain.com的网址后会自动定向到www.domain.com。
重定向Www.Domain.Com到Domain.Com
这种操作刚好和上面的域名显示是相反的,规则如下: 代码如下:RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
注:使用此301重定向方式,当你打开类似www.domain.com的网址后会自动定向到domain.com。
重定向Olddomain.Com 到 Newdomain.Com
这种操作经常用于更换域名时用到,很多站长因为种种原因可能要为站点更换域名,此时多采用以下规则来实现重新定向: 代码如下:RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
注:当用户打开老的域名后,会自动重定向到新的域名下的站点,此时域名显示格式为不带www.的格式。
重定向Olddomain.Com 到 Www.Newdomain.Com
这种操作是基于第三种方式的改良,只是显示网址显示为带www.的那种。 代码如下:RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
注:当用户打开老的域名后,会自动重定向到新的域名下的站点,并且网址显示格式为带www.的格式。
重定向Domain.Com/File/File.Php 到 Otherdomain.Com/Otherfile/Other.Php
这种操作针对于更改一个域名的同时,网站目录路径也发生变化的情况下使用,规则如下: 代码如下:RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]
注:当用户访问老的域名路径时,会重新定向到新的域名新的路径下。
IIS服务器下实现301重定向
具体方法如下:打开internet信息服务管理器,在欲重定向的网页或目录上按右键,选中“重定向到URL”, 在对话框中输入目标页面的地址,切记要选中“资源的永久重定向”最后点击“应用”即可。 注:再次提醒你,一定要选中“资源的永久重定向”。Apache服务器实现301重定向
在Apache服务器实现301重定向的方法园子在以前的文章中提到过,只需要在.htaccess文件中加入以下规则: 代码如下:<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} bbs.fxword.cn$ [NC]
RewriteRule ^(.*)$ http://www.fxword.cn/$1 [R=301,L]
</ifmodule>
注:RewriteCond是老的域名,RewriteRule是新的域名。
注意,要使用.htaccess文件,Apache必须开启rewirte模块注意,要使用.htaccess文件,Apache必须开启rewirte模块。
评论