搜尋

首頁  >  問答  >  主體

angular.js - nginx部署 angularjs時的rewrite問題

使用h5+angularjs完成了一個專案
此項目在正式環境上使用nginx做webserver

此專案的入口在微信/微博分享中
由於分享時的項目訪問地址含有’#‘(類似:test.com/#/goods)
’#‘的位置會被微博微信修改
導致分享後的地址無法正常存取

所以分享時要去掉地址中的’#‘
也就是分享的連結是:test.com/goods

但是專案入口時如果沒有#也會異常
此時是否可以透過nginx rewrite test.com/goods 到 test.com/#/goods
這裡如何寫rewrite

在此請教nginx高手

巴扎黑巴扎黑2776 天前606

全部回覆(1)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-15 16:52:12

    可以考慮用 html5 裡的 pushState 來去除 # 號。
    在 config 方法注入 $locationProvider, 然後設定 $locationProvider.html5Mode(true)。參見 http://docs.angularjs.cn/api/ng/provider/$locationProvider
    nginx 的話應該可以這樣

    rewrite ^/(.*)$ http://test.com/#/ redirect;
    

    用 302 跳躍來改變 url,沒有親測,可以試試看

    回覆
    0
  • 取消回覆