cari

Rumah  >  Soal Jawab  >  teks badan

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高手

巴扎黑巴扎黑2743 hari yang lalu584

membalas semua(1)saya akan balas

  • 我想大声告诉你

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

    Anda boleh mempertimbangkan untuk menggunakan pushState dalam html5 untuk mengalih keluar tanda #.
    Suntikan $locationProvider dalam kaedah konfigurasi, dan kemudian tetapkan $locationProvider.html5Mode(true). Lihat http://docs.angularjs.cn/api/ng/provider/$locationProvider
    Ini sepatutnya boleh dilakukan dengan nginx

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

    Gunakan 302 jump untuk menukar url saya belum mengujinya secara peribadi, tetapi anda boleh mencubanya

    balas
    0
  • Batalbalas