RewriteRule仿靜態連結

Temperature: 0 °C

ChungChung
前幾天寫了關於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

作者簡介

Chung

我是chung
網路工作者
主業是網站系統開發建置
副業是做夢,寫故事
作品請參考/teme.biz
做夢請參考/innstory.com
聯絡/chung.teme@gmail.com

訪客留言

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

推薦閱讀

作者其他相關類別故事

PHP 如何檢測陣列是否有重複值

PHP 如何檢測陣列是否有重複值

pexelsphoto PHP陣列,是在coding時常用到的儲存資料的方式。 但,若...

圖型插件Elastislide

圖型插件Elastislide

teach Elastislide是一款好用的圖形插件...http://...

PHP 時間時區修正

PHP 時間時區修正

一般來說...PHP取得的時間,是格林威治的時間: 但如果要將時間調成臺灣的時區,或其...

請選擇選項

執行錯誤

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

現在就加入innstory,開始紀錄你的故事。

「innstory」是一個儲存故事的地方,我們致力於成為一個有溫度的平台,加深人與人之間的羈絆是我們所努力的方向。
我們深信人與人間的區塊鏈不是只是冷冰冰的運算。現在就加入我們。