2016-05-16 42 views
0

我在我的web應用中使用了angularjs路由,並且我在HTML頭部中包含了$ locationProvider和基本標記,它是<base href="/webapp/">以便移除URL中的哈希符號,它工作正常當我使用錨標籤重定向例如<a href="/webapp/home">Home</a>,但是當我使用JavaScript重定向時會產生404錯誤。 window.location.href = '/webapp/home';。嘗試了一切,但迄今爲止沒有任何幫助,將不勝感激。先謝謝你。頁面重定向不能與AngularJS一起使用

+0

你能告訴我們一些代碼嗎? –

+0

嘗試使用$ location.path('/ webapp/home'); – mtamma

+0

什麼是網絡服務器?如果是nginx,請添加一些lo_try_files。檢查[與Nginx的角度html5mode](http://stackoverflow.com/questions/26810142/ngix-config-for-angularjs-html5-mode-with-templates-and-assets) –

回答

0

嘗試<a href="#/webapp/home">Home</a>

當使用角(JavaScript的)路由; JavaScript路由啓動後,URL中的關鍵字#,其他明智的瀏覽器認爲這是服務器端路由觸發器;或頁面將得到刷新。

使用<a href="#/webapp/home">Home</a>

$ locationProvider將重定向到視圖後刪除#

+0

試過了,但它給了我的是URL地址http:// localhost/webapp /#%2Fwebapp%2Fhome中的這個URL,並且不會去想要的頁面 – lulliezy

+0

想通了,它全部在.htaccess文件中,並且不,你沒有在每個URL中包含#,這裏是我包含的.htaccess代碼:'RewriteEngine On RewriteCond%{REQUEST_FILENAME}! -f RewriteRule ^(。*)$%{ENV:BASE} index.htm [QSA,L]' – lulliezy