十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)php城市分站的實(shí)現(xiàn)原理,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
以主站定格的方式創(chuàng)建城市分站,這樣的功能實(shí)現(xiàn)的原理是什么?
根據(jù)ip定位城市,數(shù)據(jù)庫(kù)建一個(gè)站點(diǎn)管理的表,站點(diǎn)關(guān)聯(lián)城市,在所有數(shù)據(jù)的地方增加字段site_id(站點(diǎn)id),你定位到城市的時(shí)候,也就獲取了site_id了,site_id存cookie,所有數(shù)據(jù)都可以獲取到了
數(shù)據(jù)庫(kù)表用的應(yīng)該是一個(gè), 只不過里面所有和位置相關(guān)的數(shù)據(jù)都會(huì)帶著位置信息.
用戶第一次訪問58.com的時(shí)候, 根據(jù)ip數(shù)據(jù)庫(kù)判斷一下, 然后跳轉(zhuǎn)到相應(yīng)的城市域名下.
然后把cookie加上.
如果是第二次+訪問58.com, 根據(jù)cookie直接跳轉(zhuǎn).
Cookie:ipcity=bj|%u5317%u4EAC|0; city=tianshui; 58home=tianshui; commontopbar_city=8601|%u5929%u6C34|tianshui
laravel的路由, 可以這樣來
Route::get('/xxx', ['domain' => '{city}.58.com'])
把城市當(dāng)參數(shù)傳進(jìn)去, 然后該取啥數(shù)據(jù)取啥數(shù)據(jù), 模板看著都是一套.
即使模板不一樣也沒關(guān)系, 可以在 按城市數(shù)據(jù)來取模板.
關(guān)于php城市分站的實(shí)現(xiàn)原理就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。