以主站定格的方式創造城市分站,這樣的功能實現的原理是什麼?
根據ip定位城市,資料庫建立一個站點管理的表,站點關聯城市,在所有資料的地方增加字段site_id(站點id) ,你定位到城市的時候,也就獲取了site_id了,site_id存cookie,所有數據都可以獲取到了
數據庫表用的應該是一個, 只不過裡面所有和位置相關的資料都會帶著位置資訊. (推薦學習:PHP影片教學)
使用者第一次造訪58.com的時候, 根據ip資料庫判斷一下, 然後跳到對應的城市域名下.
然後把cookie加上.
如果是第二次訪問58.com, 根據cookie直接跳轉.
Cookie:ipcity=bj|%u5317%u4EAC|0; city=tianshui; 58home=tianshui; commontopbar_city=8601|%u5929%u6C34|tianshui
laravel的路由, 可以這樣來
Route::get('/xxx', ['domain' => '{city}.58.com'])
把城市當作參數傳進去, 然後該取啥數據取啥數據, 模板看著都是一套.
即使模板不一樣也沒關係, 可以在按城市數據來取模板.
以上是php城市分站是什麼原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!