源码分享|精品php源码|免费源码-时光博客

apache通过修改.htaccess文件实现域名间的301跳转

摘要:在网站优化过程中经常会遇到301跳转的情况,网站刚上线和网站迁移时还有更换域名时都会用到。相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置
     在网站优化过程中经常会遇到301跳转的情况,网站刚上线和网站迁移时还有更换域名时都会用到。相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。修改文件.htaccess,只是前者手工编辑,后者是由cPanel完成。用cPanel操作相当简单,登陆你的 cPanel(bluehost虚拟主机可以选简体中文)–>Domain–>Redirects,选择相应的选项即可完成设置,这里暂不讨论。下面讲一下直接编辑.htaccess的方法。
     注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。
     1.重定向eoashare.com到www.eoashare.com
     这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.eoashare.com到eoashare.com也是出于同样的原因,只是形式不同。
     打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
     RewriteEngine On
     RewriteCond %{HTTP_HOST} !^www.eoashare.com$ [NC]
     RewriteRule ^(.*)$ http://www.eoashare.com/$1 [L,R=301]
     2.重定向www.eoashare.com到eoashare.com
     RewriteEngine On
     RewriteCond %{HTTP_HOST} !^eoashare.com$ [NC]
     RewriteRule ^(.*)$ http://eoashare.com/$1 [L,R=301]
     3.重定向eoashare.com到www.eoashare.com
     RewriteEngine On
     RewriteCond %{HTTP_HOST} !eoashare.com$ [NC]
     RewriteRule ^(.*)$ http://www.eoashare.com/$1 [L,R=301]
     4.重定向eoashare.com to eoashare.com
     RewriteEngine On
     RewriteBase /
     RewriteCond %{HTTP_HOST} !eoashare.com$ [NC]
     RewriteRule ^(.*)$ http://eoashare.com/$1 [L,R=301]
     5.重定向eoashare.com/file/file.php 到 eoashare.com/otherfile/other.php
     RewriteCond %{HTTP_HOST} ^www.eoashare.com$
     RewriteRule ^file/file.php$ http://www.eoashare.com/otherfile/other.php [R=301,L]