首先我们来了解下什么是.htaccess文件
直白的说,.htaccess文件只是一个简单的文档,可以在里面加些简单的命令实现各种不同的设置。
我们在一个特定的文档目录中放置一个包含指令的文件, 以作用于此目录及其所有子目录。这就是.htaccess文件!
我们可以利用.htaccess文件针对目录改变其配置!
我们在网站建设中,有时会对网站访问进行重定向设置(比如为了转移权重让访问http://445i.com的用户跳转的http://www.445i.com)这个应该是大家最常用到的!这样我们就可以用最直接最有效的做法通过URL重写规则实现!
首先,我们要修改的是.htaccess文件,在设置301重定向之前一定要记得备份原来的.htaccess文件,一般情况下如果你使用的是Windows主机.htaccess文件是在/htdocs目录下,如果你使用的是Linux主机是在根目录下
小简来解释下下面的规则代码:
Rewr
下面两个规则适合我们网站顶级域名二级域名直接的权重转移!可以把不带WWW的权重转移到带WWW的网址或者把带WWW的权重转移到不带WWW的上来
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^445i.com [NC] RewriteRule ^(.*)$ http://www.445i.com/$1 [L,R=301]
上面的代码是将不带www的域名重定向到带www的域名。如445i.com重定向到www.445i.com小简博客也用了301重定向!
——————————————————————————
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.445i.com$ [NC] RewriteRule ^(.*)$ http://445i.com/$1 [L,R=301]
重定向www.445i.com到445i.com,和第一个一样!域名相反
下面两个规则经常用于更换域名需要做的!有时候我们因为种种原因,需要换域名,就可以下面的规则
RewriteEngine On RewriteCond %{HTTP_HOST} !abc.com$ [NC] RewriteRule ^(.*)$ http://www.445i.com/$1 [L,R=301]
不同域名之间顶级域名和二级域名的重定向.如:abc.com重定向到www.445i.com
———————————————————————————–
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !abc.com$ [NC] RewriteRule ^(.*)$ http://445i.com/$1 [L,R=301]
不同域名之间顶级域名和顶级域名的重定向,如:abc.com重定向到445i.com
下面这个规则更改域名的同时,网站目录路径也会发生变化,有时候我们想把某个页面重定向到另外一个域名的页面就可以用下面这个规则!
RewriteEngine On RewriteCond %{HTTP_HOST} ^abc.com$ RewriteRule ^abc/01.php$ http://www.445i.com/123/02.php [R=301,L]
不同域名之间,不同文件的重定向,实现abc.com/abc/01.php这个页面重定向到www.445i.com/123/02.php
未经允许不得转载:445IT之家 » apache下添加URL重写规则代码实现重定向