首先我們來(lái)了解下什么是.htaccess文件
直白的說(shuō),.htaccess文件只是一個(gè)簡(jiǎn)單的文檔,可以在里面加些簡(jiǎn)單的命令實(shí)現(xiàn)各種不同的設(shè)置。
我們?cè)谝粋€(gè)特定的文檔目錄中放置一個(gè)包含指令的文件, 以作用于此目錄及其所有子目錄。這就是.htaccess文件!
我們可以利用.htaccess文件針對(duì)目錄改變其配置!
我們?cè)诰W(wǎng)站建設(shè)中,有時(shí)會(huì)對(duì)網(wǎng)站訪問(wèn)進(jìn)行重定向設(shè)置(比如為了轉(zhuǎn)移權(quán)重讓訪問(wèn)http://445i.com的用戶跳轉(zhuǎn)的http://www.lalz.net)這個(gè)應(yīng)該是大家最常用到的!這樣我們就可以用最直接最有效的做法通過(guò)URL重寫規(guī)則實(shí)現(xiàn)!
首先,我們要修改的是.htaccess文件,在設(shè)置301重定向之前一定要記得備份原來(lái)的.htaccess文件,一般情況下如果你使用的是Windows主機(jī).htaccess文件是在/htdocs目錄下,如果你使用的是Linux主機(jī)是在根目錄下
小簡(jiǎn)來(lái)解釋下下面的規(guī)則代碼:
Rewr
下面兩個(gè)規(guī)則適合我們網(wǎng)站頂級(jí)域名二級(jí)域名直接的權(quán)重轉(zhuǎn)移!可以把不帶WWW的權(quán)重轉(zhuǎn)移到帶WWW的網(wǎng)址或者把帶WWW的權(quán)重轉(zhuǎn)移到不帶WWW的上來(lái)
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^445i.com [NC] RewriteRule ^(.*)$ http://www.lalz.net/$1 [L,R=301]
上面的代碼是將不帶www的域名重定向到帶www的域名。如445i.com重定向到www.lalz.net小簡(jiǎn)博客也用了301重定向!
——————————————————————————
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.lalz.net$ [NC] RewriteRule ^(.*)$ http://445i.com/$1 [L,R=301]
重定向www.lalz.net到445i.com,和第一個(gè)一樣!域名相反
下面兩個(gè)規(guī)則經(jīng)常用于更換域名需要做的!有時(shí)候我們因?yàn)榉N種原因,需要換域名,就可以下面的規(guī)則
RewriteEngine On RewriteCond %{HTTP_HOST} !abc.com$ [NC] RewriteRule ^(.*)$ http://www.lalz.net/$1 [L,R=301]
不同域名之間頂級(jí)域名和二級(jí)域名的重定向.如:abc.com重定向到www.lalz.net
———————————————————————————–
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !abc.com$ [NC] RewriteRule ^(.*)$ http://445i.com/$1 [L,R=301]
不同域名之間頂級(jí)域名和頂級(jí)域名的重定向,如:abc.com重定向到445i.com
下面這個(gè)規(guī)則更改域名的同時(shí),網(wǎng)站目錄路徑也會(huì)發(fā)生變化,有時(shí)候我們想把某個(gè)頁(yè)面重定向到另外一個(gè)域名的頁(yè)面就可以用下面這個(gè)規(guī)則!
RewriteEngine On RewriteCond %{HTTP_HOST} ^abc.com$ RewriteRule ^abc/01.php$ http://www.lalz.net/123/02.php [R=301,L]
不同域名之間,不同文件的重定向,實(shí)現(xiàn)abc.com/abc/01.php這個(gè)頁(yè)面重定向到www.lalz.net/123/02.php
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » apache下添加URL重寫規(guī)則代碼實(shí)現(xiàn)重定向