天天看點

配置.htaccess檔案實作URL位址重寫

     很多站長朋友都注意到一個實作了URL位址靜态化的動态網站往往在搜尋引擎中能夠獲得一個好的排名。的确,在搜尋引擎中随便搜尋一個關鍵詞,排名靠前的基本都是靜态頁面。這篇文章豆芽給大家介紹如果通過.htaccess檔案來将URL位址靜态化。

      值得大家注意的是,這裡配置 . htaccess 檔案是在你的伺服器是 apache 的情況下,如果你的伺服器是 IIS 的話,那就需要配置 httpd.ini 檔案了。怎麼配置 httpd.ini 檔案,豆芽在前面文章中有專門提到過,不熟悉的朋友可以再去看一下,在SEO教程裡面。

      這裡我們要實作怎樣一個功能呢?簡要說就是你在浏覽器位址欄中輸入一下位址:

      http://www.aichengxu.com/index.html 

      但是你的項目中壓根就沒有這個檔案,如果沒有使用 .htaccess 檔案實作URL位址重寫的話,那麼你的浏覽器中将顯示一個 404 的錯誤,提示你該頁面沒有找到。如果使使用者在輸入了上面的網址後不提示 404 錯誤,并且轉到我們想向使用者展示的頁面呢?那就需要配置 .htaccess 檔案。

     什麼是 .htaccess 檔案呢?實際上 .htaccess 檔案中是我們定義的一些規則,這些規則将實作像上面那樣輸入請求的URL位址,轉換為另一個URL位址,而不是浏覽器預設的提示404頁面沒有找到。URL位址重寫這項功能由 Apache 伺服器通過 mod_rewrite 子產品提供。PHP不用對他做任何的處理。

     下面豆芽向大家詳細介紹步驟

     1、安裝 mod_rewrite 子產品

     因為 Apache 伺服器預設是沒有打開 mod_rewrite 子產品的,是以我們必須手動來啟動。打開 Apache 的配置檔案 httpd.conf 檔案,找到下面一行:

     #LoadModule rewrite_module modules/mod_rewrite.so

     前面的 # 号是 Apache 配置檔案的注釋符,也就是 Apache 伺服器沒有加載該子產品。将前面的 # 号去掉,儲存後重新開機 Apache 伺服器,這是我們就實作了加載 mod_rewrite 這個子產品了。(提示:任何一次對 Apache 的配置檔案 httpd.conf 檔案都是要重新啟動 Apache 才能生效的)

     2、建立 .htaccess 檔案

     在 windows 系統預設的情況下是不能建立沒有檔案名的檔案的,這裡建議大家使用 vim 這個編輯器來建立。方法是打開 vim 編輯器随便輸入一段文字,然後儲存為 .htaccess 即可。很多朋友因為習慣了 windows 系統,是以建立這個檔案很頭疼。vim 這款編輯器很不錯,推薦大家用。下載下傳位址: www.vim.org/download.php 

     3、配置 .htaccess 檔案

     .htaccess 檔案務必放在你項目的根目錄下,不要放在其他檔案夾下。配置 .htaccess 檔案的格式如下:

      <ifmodule mod_rewrite.c>

     RewriteEngine On

     #這裡是你的規則

     </ifmodule>

     解釋:RewriteEngine On :啟動URL重寫引擎

     先看如下一個配置好了的 .htaccess 檔案執行個體:

    <ifmodule mod_rewrite.c>

    RewriteEngine On

    RewriteRule ^index\.html$ /aichengxu/index.php [L]

    RewriteRule ^column/(.*)/([0-9]*).html$ /aichengxu/column.php?ID=$2 [L]

    </ifmodule>

    分析:上面 .htaccess 檔案就寫了二條規則。當在浏覽器中輸入 index.html 時,背景調用的是 index.php 檔案。符号“^”是以後面的字元開頭,相信熟悉正規表達式的朋友不會陌生吧,符号“$”是以前面的字元結尾。符号L表示停止處理接下來的規則。最後一條當我們在浏覽器中輸入 column/23/22.html 時,背景調用 column.php檔案并傳遞參數ID=22 。

    配置規則,大家照着那一條去寫吧,記得每行後面加個 L 符号。