您好,登錄后才能下訂單哦!
這篇文章主要講解了“小程序如何根據referer跳轉不同的后臺環境”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“小程序如何根據referer跳轉不同的后臺環境”吧!
開發小程序的時候有4個版本(開發、體驗、審核、正式)。所以不同的環境要請求不同的后臺。特別是審核
版本,因為還要微信審核,如果請求錯誤,會被審核失敗。因為生產環境是對應舊的后臺版本,所以審核
版本既不能調到后臺生產環境,也不能跳到開發環境。
我們為了方便生產
、審核
2個版本小程序都去請求/prod
。這里就要區別真實的請求到底是從生產
、審核
哪里來的。
微信給我們服務器發送請求wx.request
的會帶上一個referer
的header參數。格式如下:
https://servicewechat.com/<appId>/<version>/page-frame.html
其中<appId>
是發送請求的小程序appId,<version>
是小程序的版本。
開發
、體驗
、審核
版本中version值是0,開發工具中version值是devtools
。
正式
版的version值是大于0的正整數,表示這個小程序發布到正式版多少次。 例子如下:
開發版: https://servicewechat.com/小程序appId/0/page-frame.html 體驗版: https://servicewechat.com/小程序appId/0/page-frame.html devtools: https://servicewechat.com/小程序appId/devtools/page-frame.html 正式版: https://servicewechat.com/小程序appId/6/page-frame.html
foo
, 配置一個map,把http_referer
映射到foo
。map $http_referer $foo { default "prod"; ~^https://servicewechat.com/[^/]+/0/(.*)$ "dev"; ~^https://servicewechat.com/[^/]+/devtools/(.*)$ "dev"; }
upstream dev { server localhost:7777; } upstream prod { server localhost:9999; }
location
中使用 foo
變量, 導航到正確的地址。這里我用
add_header
把foo
變量輸出一下,作為測試。
location / { #set $foo "$http_referer"; add_header wkfoo 'foo: $foo "$http_referer"'; proxy_pass http://$foo; }
curl -H 'Cache-Control: no-cache' -I "https://xxx.xxx.com/prod/xxx?參數1=xxx&參數2=xxx" --referer "https://servicewechat.com/xxx/devtools/page-frame.html"
curl -H 'Cache-Control: no-cache' -I "https://xxx.xxx.com/prod/xxx?參數1=xxx&參數2=xxx" --referer "https://servicewechat.com/xxx/0/page-frame.html"
感謝各位的閱讀,以上就是“小程序如何根據referer跳轉不同的后臺環境”的內容了,經過本文的學習后,相信大家對小程序如何根據referer跳轉不同的后臺環境這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。