Re: [請益] 如何實現如wp般的固定網址?

作者: chippclass (善假狼賺錢中)   2015-09-02 13:58:41
※ 引述《wonderow (wonder)》之銘言:
各位前輩大家好
小弟之前初學php沒多久
最近有個作業需要寫出類似部落格形式的簡易內容網站
但過去所學的php+MySQL中,如果點入一篇文章
網址會是:www.demo.com?id=123
但如果希望能夠像wp呈現固定網址:www.demo.com/123/
這樣子的話,請問該怎麼作呢?或查什麼關鍵字呢?
我google都只查到wp的做法
如果有錯之處初學還請見諒
先謝謝各位了!!
→ wonderow: 但想請再請問:這樣的話是會變成全部都指向到同一個網址 08/30 10:54
→ wonderow: ?還是可以不同篇文章不同網址,像www.demo.com/123/跟w 08/30 10:54
→ wonderow: ww.demo.com/456/ 08/30 10:54
推 alex0914: https://github.com/c9s/Pux 08/30 11:01
→ MOONRAKER: 請問這樣要怎樣把host.com/123對應到host.com?id=123 09/01 22:36
如果你的需求是在網址列輸入 aaa.com/123/ 會得到跟 aaa.com?id=123 一樣的效果
你可以看看我這樣是不是你要的
http://imgur.com/a/31Fmi
13張圖
第一張是資料庫裡面的資料,不是很重要,只是做個資料驗證是否有運作而已
第二張圖, /index.php 的程式碼
這邊我印出六個資料,其中 4 是第一重點,是你問的問題
5 是第二重點,驗證 4 的輸入是否可以取得資料
1 2 3 6 則是要抓出資料 4 所需要的中繼資料
就自己研究看看吧
第三張圖, /.htaccess
rewrite模組運作就是靠這個檔案,網路學來東改西改目前可用的版本
只有前三行跟 rewrite 有關,你應該只是要問這個
第四行是禁止顯示目錄下的清單
第五行以後是當遇到網頁 404 500 之類的 error 會跳回首頁
多餘的忘了刪,就拍圖了,無視就好
圖4 rewrite 模組的開啟
至少我選的工具預設是不開啟的,所以我要去開啟
你要檢查你的環境是否可以用 rewrite 模組
圖5 檔案配置
就一個 index.php 和一個 .htaccess 檔案而已
放在根目錄下
至於那張 /root.jpg 還有 /004/root.jpg 是做什麼用的?
也許你等等可以仔細觀察運作的結果
圖6 不是很重要
後來看了你的文章原文,你是用 aaa.com?id=123
所以我資料庫補了一筆 123 的資料
圖 7~13 實際運作的結果
這六個資料原則上看4就可以,或是看4+5
1 2 3 6 這些資料你可以自己看原始碼看他們怎麼抽出來的
首先先來個最基本傳統沒變化的,當成對照組
圖7: 127.0.0.1?id=123
我網址原本是打上面那樣,應該是被轉址了變成 127.0.0.1/?id=123
這邊正確抽出資料 123
圖8: 127.0.0.1?id=004
同圖7
圖9: 127.0.0.1?aa=123
使用者在網址列亂打,不合規則就擋掉
圖10: 127.0.0.1/123
本文重點(?) 網址後面只打 123 確實有正確取得資料
圖11: 127.0.0.1/123/
你可以注意跟圖10差在哪
作者: wonderow (wonder)   2014-08-30 10:54:00
但想請再請問:這樣的話是會變成全部都指向到同一個網址?還是可以不同篇文章不同網址,像www.demo.com/123/跟www.demo.com/456/
作者: alex0914 (Life is short)   2014-08-30 11:01:00
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-09-01 22:36:00
請問這樣要怎樣把host.com/123對應到host.com?id=123
作者: chenstin (orz)   2015-09-02 23:28:00
推用心
作者: xdraculax (首席怪叔叔)   2015-09-03 15:23:00
推,雖然你回錯人 XD
作者: hpo14 (hpo14)   2015-09-13 23:22:00
推展哥

Links booklink

Contact Us: admin [ a t ] ucptt.com