apache下添加URL重写规则代码实现重定向

apache服务器下通过过修改.htaccess文件添加URL重写的规则代码来实现重定向!(注:要先弄清主机是否支持.htaccess文件?一般来说,不管你的主机使用的是什么版本的Apache网络服务器,理论上都是支持.htaccess文件的,但是有的主机服务商可能不允许你使用它!所以必须是服务器支持修改.htaccess文件,根据空间实际情况操作!不然你的.htaccess文件是没有作用的~!在修改前你应该询问的你的主机服务商。)

 

首先我们来了解下什么是.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重写规则代码实现重定向

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏