用哈希直接访问url

我正在使用AngularJSLaravel开发一个webapp。

当我浏览URL和应用程序中的链接时,一切正常,但如果我直接在浏览器中键入URL,会发生一些奇怪的事情。

例如,如果我输入http://myapp.dev/#/customers,我会重定向到http://myapp.dev/customers#/

为什么? 怎么了? Laravel执行“/”路由(右)和Angular“/”路由(再次右移)。

注意:我做了一个与第一个类似的测试应用程序,但没有使用Laravel和.htaccess(它只提供静态HTML),我没有这个问题,我可以直接访问URL。

谢谢。

编辑 - 在这里的角度路由代码:

var App = angular.module('Factotum', ['ngResource']);

function appRouteConfig($routeProvider) {
    $routeProvider.

    when('/', {
        controller: IndiceController,
        templateUrl: 'v/indice'
    }).
    when('/login', {
        controller: 'AppController',
        templateUrl: 'v/login'
    }).
    when('/logout', {
        controller: 'AppController',
        templateUrl: 'v/login'
    }).
    // ---- Clienti
    when('/clienti', {
        controller: ClientiController,
        templateUrl: 'v/clienti/lista'
    }).
    when('/clienti/nuovo', {
        controller: ClientiController,
        templateUrl: 'v/clienti/nuovo'
    }).
    when('/clienti/modifica/:id', {
        controller: ClientiController,
        templateUrl: 'v/clienti/modifica'
    }).
    // ---- Progetti
    when('/progetti', {
        controller: ProgettiController,
        templateUrl: 'v/progetti/lista'
    }).
    when('/progetti/nuovo', {
        controller: ProgettiController,
        templateUrl: 'v/progetti/nuovo'
    }).
    otherwise({
        redirectTo: '/'
    });
} // factotumRouteConfig

App.config(appRouteConfig);

最后我发现了这个问题。 我使用免费的HTML5模板( Usman的 Charisma - 这里是一个演示:http://usman.it/themes/charisma/),其中包括jQuery History插件 。 我删除了这个插件,以及一些初始化代码,现在全部按预期工作。 我的错,我没有仔细检查代码。

链接地址: http://www.djcxy.com/p/77601.html

上一篇: direct access to url with hash

下一篇: What's the correct way to communicate between controllers in AngularJS?