Angular HTML5-Modus mit WordPress, das Aktualisieren der Seite führt zu 404

Lesezeit: 2 Minuten

Ich verwende Routing in meiner Winkel-App, um URLs zu laden. Dies funktioniert perfekt, wenn ich in der App auf Links klicke, aber wenn ich versuche, direkt zu einer App-URL zu gehen, gibt der Server einen 404 zurück.

Hier ist mein Code:

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

    $routeProvider
        .when('/booking', {
            templateUrl: 'wp-content/themes/myapp/pages/begin.html',
            controller: 'mainController'
        })
        .otherwise({
            redirectTo: "https://stackoverflow.com/"
        });
});

Mein Header hat <base href="https://stackoverflow.com/myapp/"> oben, innerhalb der Head-Tags.

Ich habe gelesen, dass dies ein Apache-Rewrite-Problem ist, also habe ich versucht, meine .htaccess-Datei so zu ändern, dass sie Folgendes enthält:

<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>

Dies scheint jedoch keinen anderen Unterschied zu machen als die Weiterleitung auf die 404-Seite. Ich verwende WAMP und localhost.

Wie schaffe ich es, dass das Aktualisieren der App oder das direkte Verlinken der Seite funktioniert?

  • Der Server muss an den Client index.html (oder PHP) an die URL darunter senden (nicht umleiten), es sei denn, die eigentliche Datei ist vorhanden.

    – SIE

    18. April 2015 um 0:34 Uhr


  • ein ähnlicher Beitrag – stackoverflow.com/questions/28224012/…

    – SIE

    18. April 2015 um 0:37 Uhr

Versuche dies

$routeProvider
  .when("https://stackoverflow.com/", {
    templateUrl: 'wp-content/themes/myapp/pages/index.html',
    controller: 'indexController'
  })
.when('/booking', {
        templateUrl: 'wp-content/themes/myapp/pages/begin.html',
        controller: 'mainController'
    })
    .otherwise({
        redirectTo: "https://stackoverflow.com/"
    });

Hast du deine WP-Permalinks geändert?

In meinem Fall ändern Sie die Permalinks-Einstellungen in

/blog/%postname%/

oder

/%postname%/

behoben.

Bitte deklarieren Sie auch unbedingt Ihre base href an der Spitze der <head> Abschnitt in Ihrem index.* Datei. Ich empfehle die Verwendung dieses Skripts:

<base href="https://stackoverflow.com/questions/29711120/<?php $url_info = parse_url( home_url() ); echo trailingslashit( $url_info["path'] ); ?>">

1377550cookie-checkAngular HTML5-Modus mit WordPress, das Aktualisieren der Seite führt zu 404

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy