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