從我的理解不是$locationProvider.html5Mode(true);
從您的URL中刪除散列? 雖然這樣做對我來說,當刷新頁面時,只有主頁似乎沒問題。 是不是redirectTo:
應該處理?
var rustyApp = angular.module('rustyApp', ['ngRoute','viewController',
'mm.foundation','angular-flexslider','ui.router'],
function($routeProvider, $locationProvider) {
$routeProvider.when('/', {
templateUrl: '/partials/home.html',
controller: 'HomeController'
});
// When you put /home, it also automatically handles /home/ as well
$routeProvider.when('/work', {
templateUrl: '/partials/work.html',
controller: 'WorkController'
});
$routeProvider.when('/contact', {
templateUrl: '/partials/contact.html',
controller: 'ContactController'
});
$routeProvider.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true).hashPrefix('!');
});
這是我的html:
這是頭:
<base href="/"/>
這是naviagation ...
<section class="top-bar-section uk-navbar-flip">
<ul class="uk-navbar-nav ">
<li my-active-link="/"><a href="/"><i class="uk-icon-home uk-icon-medium "> </i>home</a></li>
<li my-active-link="/#work"><a href="/#work"><i class="uk-icon-photo uk-icon-medium "></i> work</a></li>
<li my-active-link="/#contact"><a href="/#contact"><i class="uk-icon-envelope-o uk-icon-medium "></i> contact</a>
</ul>
</section>
UPDATE
我改變了我的app.js文件。
$locationProvider.html5Mode(true).hashPrefix('!'); //changed this
到
$locationProvider.html5Mode(true);
,並將此向.htaccess
文件。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
</IfModule>
但是,這似乎工作,當我通過Apache運行服務器。 我想我的問題是沒有配置處理該請求的gulp spawn的靜態服務器。我確信有一些附加到gulp-open
等...
嘿謝謝你回答我的問題!現在我正在使用gulp在本地運行通用服務器,但是我正確地假設,我應該使用上述(Apache服務器的服務器,因爲我注意到使用Express webserver),但將'index.php'部分更改爲'index.html'將所有文件保存在'.htaccess'文件中並保存在我的開發文件夾所在的目錄中?你不知道這是多麼有幫助!乾杯! – 2014-10-09 12:47:36