WordPress的Angular HTML5模式,刷新页面将导致404

Mor*_*gan 5 wordpress angularjs

我在我的角度应用程序中使用路由来加载URL。当我从应用程序内部单击链接时,此方法非常有效,但是当我尝试直接转到应用程序URL时,服务器返回404。

这是我的代码:

myApp.config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);

    $routeProvider
        .when('/booking', {
            templateUrl: 'wp-content/themes/myapp/pages/begin.html',
            controller: 'mainController'
        })
        .otherwise({
            redirectTo: "/"
        });
});
Run Code Online (Sandbox Code Playgroud)

我的标题<base href="/myapp/">位于head标签的顶部。

我已经读到这是一个Apache重写问题,因此我尝试修改.htaccess使其包含以下内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /myapp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /myapp/index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但是,除了重定向到404页面外,这似乎没有什么不同。我正在使用WAMP和localhost。

如何使刷新应用程序或直接链接到页面有效?

小智 0

尝试这个

$routeProvider
  .when('/', {
    templateUrl: 'wp-content/themes/myapp/pages/index.html',
    controller: 'indexController'
  })
.when('/booking', {
        templateUrl: 'wp-content/themes/myapp/pages/begin.html',
        controller: 'mainController'
    })
    .otherwise({
        redirectTo: "/"
    });
Run Code Online (Sandbox Code Playgroud)