RewriteRule仿靜態連結

Temperature: 0 °C

JuilinChungJuilinChung
前幾天寫了關於404頁面導向位置的定義。連結網址

同樣的是要定義.htaccess 這次是要將網址改變....


一般來說用PHP寫程式時通常都會用:

$_POST 或者是 $_GET

來傳遞變數。

當系統越寫越龐大,傳遞的變數變多,就有可能產生如以下連結:

例如 http://demo.com/index.php?list=detail&id=88

不想使用這麼長的網址? 那該如何處理? 這時就得修改定義.htaccess檔了

但首先需先確定Apache裡的設定

修改 Apache 中的 http.conf
然後搜尋並將下行前的注解【#】拿掉
#LoadModule rewrite_module modules/mod_rewrite.so
再搜尋 http.conf 中 AllowOverride None 的語句,然後將其改為 AllowOverride All
再重新啟動 Apache

接著定義.htaccess

RewriteEngine on
RewriteRule ([a-zA-Z]+)-([0-9]+).html$ index.php?list=$1&id=$2

當定義好.htaccess檔之後一樣的將檔案上傳至網站空間,之後只要將網址繕寫為

http://demo.com/detail-88.html
即可將網址指向http://demo.com/index.php?list=detail&id=88

像這樣短網址靜態頁面的好處:

一開始想到的是網址變短了...對使用者來說就友善些。

另外,網路上聽說是有利於SEO啦...

所以也將這樣的方式套用在innstory裡。

RewriteEngine On :將重寫引擎設為 On
RewriteRule:重寫網址規則
([0-9]+): 表示參數值為數字
([a-z]+): 表示參數值為英文
(.*) : 表示參數萬用字元(可接受中文字)

另外,尾部參數規則:

[NC] (不分字母大小寫)
[NE] (不再輸出轉義特殊字符)
[OR] (或者, 用來與下一規則連結用)
[R] 重新導向
[F] 重新導向到 403 forbidden 頁面
[G] 重新導向到 410 forbidden 頁面
[P] 強制使用代理
[N] 重新從第一條規則開始運行
[L] 表示這是最後一條規則

台北市松山區八德路四段650號 Go

作者簡介

JuilinChung

我是chung

網路工作者

主業是網站系統開發建置

副業是做夢,寫故事

作品請參考 / teme.biz

做夢請參考 / innstory.com

聯絡 / chung.teme@gmail.com

訪客留言

留下一些足跡證明你來拜訪過我

推薦閱讀

作者其他相關類別故事

動態留言功能調整

動態留言功能調整

guestmap 最近改進了朋友動態的發文方式.... 一開始在功能方面加上了...

CSS透明度

CSS透明度

CSS 透明度的實作, 各種瀏覽器和標準如下:(數字越小越透明) 標準:...

如何使用javascript判斷身分證號跟居留證格式

如何使用javascript判斷身分證號跟居留證格式

首先,我是把如何用javascript判斷字串中必須包含中英文的方式延伸~ 將每一個字...

請選擇選項

執行錯誤

Hi,謝謝你的參與,但無法重複投票哦~