哪位大大能给我说一下Apache ModReWrite是属于哪种链接的格式,功能上与自定义网址跟简短网址有什么差别
目的都一樣!都是為了 Search Engine Friendly URL,但是作法不同!
1. Apache ModReWrite 是透過 apache 的 mod_rewrite 模組來作 url 轉換,所以
http://www.abc.com/index.php?blogId=1 會被轉換成
http://www.abc.com/your-blog 。這跟再使用一般網址時沒有兩樣。因為 Apache 幫你作了所有的轉換工作。
2. 簡潔網址與自訂網址是透過 apache 的 ErrorDocument 的設定,來把『錯誤』的網址轉到特定的 pLog 程式來作處理。為什麼叫做錯誤?因為
http://www.abc.com/your-blog 其實是個不存在的URL,當 apache 接收到後,就把
http://www.abc.com/your-blog 傳到 error.php,error.php 再把網址轉譯成相對應的 變數如 blogId, articleId 等,再把這個 request 傳到 index.php,再進入 pLog 的正常執行程序。
所以你要是使用自定義網址或簡潔網址,你會發現 apache 的 error.log 有一堆 找不到網址的 error。
哪一個比較好?看你的需求吧!
Mark