假設一個網站有一個後台,假設是 test.com/admim
(test.com是我自己的個人網域,有設定必須有帳密才能登入,所以測試會有測試管理員帳號,正式會有正式管理員帳號),可以新增刪除資料等等後端操作,這個後台裡面都是測試(dev)的資料。
有一天這個網站要prod了,正式網站的域名叫做 abc.com,原本資料庫是讀 dev ,現在變成 prod
test.com/admin -> db:dev
abc.com -> db:prod
那我網址會以什麼入口當作後台?以及後台內如何判斷測試與正式?
因為不太可能用 abc.com/admin 來當正式資料管理後台吧~
我的做法是
無論是測試還正式,後台都是統一入口 test.com/admim
只是裡面可以選擇要撈正式資料還是測試資料,可能利用 $_GET
來判斷(但這樣每個網址後邊都要加入這個GET...)
我想問大大如果是你們會怎麼做?
大多數而言,後台進入名稱,我會用如下的方式
1.子域名區分式:
如主域名是abc.com。則我可以規劃設定admin.abc.com做到進入後台的域名基本。
但這招需要單一入口的情況下才有可能辦到。或是使用rw規則的情況下。
也可以利用httpd設定來達到這個目的。
不過只有單一入口的情況下用這招才會比較方便,其它的就沒那麼方便了。
2.目錄直接指定式:
這比較單純,就是將管理的相關程式碼寫到一個子目錄內,如admin
缺點就是安全性會比較不好。優點就是不用太過擔心設定上的問題。
且也比較直覺應用。唯一要注意的就是路徑指定上的問題。
3.程式碼導向式:
用一支admin.php來做轉向(可改名)。客戶只要運行 abc.com/admin.php 就好了
不過這樣的做法會看到.php。有點不太好的感覺。
4.rw規則運行法:
其實這是用第2個方式的進階法。利用其rw規則如 abc.com/admin 判斷後碼是否會admin則自動規則跑admin.php或是到 admin/index.php 運行。這樣子的做法,可以自由調整客戶想要設定的名稱。但不影響你程式上的架構。
以上的方式,都是要配合,一但客戶不希望用admin做為後台名稱的情況下的預定變動方式。
用直接目錄式的做法其實也行。