angular.js - masalah tulis semula apabila nginx menggunakan angularjs
巴扎黑
巴扎黑 2017-05-15 16:50:12
0
1
605

Menyelesaikan projek menggunakan h5 angularjs
Projek ini menggunakan nginx sebagai pelayan web dalam persekitaran formal

Pintu masuk ke projek ini dikongsi di WeChat/Weibo
Kerana alamat akses projek semasa berkongsi mengandungi '#' (serupa dengan: test.com/#/goods)
Kedudukan '#' akan diubah suai oleh Weibo dan WeChat
Akibatnya, alamat yang dikongsi tidak boleh diakses seperti biasa

Jadi apabila berkongsi, anda perlu mengalih keluar '#' dalam alamat
Iaitu, pautan yang dikongsi ialah: test.com/goods

Tetapi jika tiada # semasa memasuki projek, ia akan menjadi tidak normal
Adakah mungkin untuk menulis semula test.com/goods untuk menguji.com/#/goods melalui nginx pada masa ini
Cara menulis menulis semula

Tanya pakar nginx di sini untuk mendapatkan nasihat

巴扎黑
巴扎黑

membalas semua(1)
我想大声告诉你

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan