另類的二級網域名稱實現方法

2022-02-01 09:10:44 字數 747 閱讀 6025

這幾天,外賣匯**開始需要實施其他城市的擴充套件(目前就杭州站有,正在準備上海站的開通),可是遇到乙個問題(不說大家也知道了

),就是如何通過二級網域名稱指向不同的城市站點。目前外賣匯的網域名稱是waimaihui.com,希望將指向杭州站,而將指向上海站。這個自然可以通過配置dns來簡單的實現,但是考慮到後期其他城市的擴充套件,如果都是通過配置dns來實現的話,未免可擴充套件性也太差了。所以,考慮通過程式實現。

考慮到,城市之間的資料基本沒有互動的地方,故每個城市都採用乙個獨立的資料庫(當然,這不是乙個好的解決方法),這就使得其實不同城市之間只有資料庫不同罷了,其他都是一樣的,除了網頁的標題這類的頁面內容,而且這些也只是換個城市名稱罷了。

所以,我就想到了乙個另類的方法:通過判斷使用者請求的hostname來判斷使用者訪問的是哪個城市的站點,不同的城市使用不同的資料庫連線字串,這些資料庫連線字串保持為web.config中的key值。 

hostname = httpcontext.current.request.url.host.tostring(); //獲取url主機位址 

userhost = hostname.split(new

char ); 

//陣列,以「.」分隔

通過判斷userhost[0]的值,來決定使用者訪問的城市站點。比如說,使用者請求的頁面時那麼userhost[0]="hz"

這裡也遇到了另乙個問題:何時設定這個字串,使用者的訪問你是無法確定的,也許使用者前一秒訪問的時,可是後一秒也許就是,如何使得連線字串做到正確的切換呢?

Apache二級網域名稱實現

apache二級網域名稱實現 首先,你的擁有乙個有泛網域名稱解析的頂級網域名稱,例如 domain.com 其次,在 httpd.conf 中開啟 mod rewrite 之後,在 httpd.conf 的最後,新增以下內容 rewriteengine on rewritemap lowercase...

Apache二級網域名稱實現

apache二級網域名稱實現 首先,你的擁有乙個有泛網域名稱解析的頂級網域名稱,例如 domain.com 其次,在 httpd.conf 中開啟 mod rewrite 之後,在 httpd.conf 的最後,新增以下內容 rewriteengine on rewritemap lowercase...

最簡單快速的Apache二級網域名稱實現方法介紹

首先,你的擁有乙個有泛網域名稱解析的頂級網域名稱,例如 domain.com 其次,在 httpd.conf 中開啟 mod rewrite 之後,在 httpd.conf 的最後,新增以下內容 rewriteengine on rewritemap lowercase int tolower re...