Угловой маршрут JS не работает без # [дубликата]

0

Я удалил # из url, используя приведенный ниже код:

app.config(function($locationProvider) {
       $locationProvider.html5Mode(true);
     });

Он работает нормально, если я получаю доступ к веб-сайту с помощью ссылки на домашнюю страницу, если я напрямую открываю любую другую ссылку, а не домашнюю страницу, которая не работает.

мой код маршрута, как показано ниже:

(function () {
    'use strict';
    var app = angular.module('app');

     app.config(function($locationProvider) {
       $locationProvider.html5Mode(true);
     });

    // Collect the routes
    app.constant('routes', getRoutes());
    // Configure the routes and route resolvers
    app.config(['$routeProvider', 'routes', routeConfigurator]);

    var resolver = function (access) {
        return {
            load: function ($q) {
                if (access) { // fire $routeChangeSuccess
                    var deferred = $q.defer();
                    deferred.resolve();
                    return deferred.promise;
                } else { // fire $routeChangeError
                    return $q.reject("/login");
                }
            }
        }
    }
    function routeConfigurator($routeProvider, routes) {
        routes.forEach(function (r) {
            $routeProvider.when(r.url, r.config);

        });
        $routeProvider.otherwise({ redirectTo: '/' });

    }
    // Define the routes 
    function getRoutes() {
        return [
            { url: '/', config: { templateUrl: 'app/home/home.html', title: 'Home' } },
            { url: '/login', config: { title: 'login', templateUrl: 'app/admin/login.html' } },
            { url: '/aboutus', config: { title: 'About Us', templateUrl: 'app/aboutus/aboutus.html' } },
            { url: '/apis', config: { title: 'Api', templateUrl: 'app/apis/apis.html' } },
            { url: '/apisdetails', config: { title: 'Api', templateUrl: 'app/apis/apisdetails.html' } },
            { url: '/intermediates', config: { title: 'Intermediates', templateUrl: 'app/intermediates/intermediates.html' } },
            { url: '/intermediatesdetails', config: { title: 'Intermediates', templateUrl: 'app/intermediates/intermediatesdetails.html' } },
            { url: '/products', config: { title: 'Products', templateUrl: 'app/products/products.html' } },
            { url: '/productdetails', config: { title: 'Products', templateUrl: 'app/products/productdetails.html' } },
            { url: '/industryserved', config: { title: 'Industry Served', templateUrl: 'app/industryserved/industryserved.html' } },
            { url: '/enquirys', config: { title: 'Enquiry', templateUrl: 'app/enquiry/enquiry.html' } },
            { url: '/latestnews', config: { title: 'News', templateUrl: 'app/news/news.html' } },
            { url: '/newsdetail/:newsID', config: { title: 'News', templateUrl: 'app/news/newsdetail.html' } },
            { url: '/contactus', config: { title: 'Contact Us', templateUrl: 'app/contactus/contactus.html' } },
            { url: '/industryserved', config: { title: 'Industry Served', templateUrl: 'app/industryserved/industryserved.html' } },
            { url: '/searchresult', config: { title: 'Search Result', templateUrl: 'app/search/searchresult.html' } },
            { url: '/enquirylist', config: { title: 'Enquiry List', templateUrl: 'app/admin/enquirylist.html' } },
            { url: '/dashboard', config: { title: 'ashboard', templateUrl: 'app/admin/dashboard.html' } },
            { url: '/api', config: { title: 'ashboard', templateUrl: 'app/admin/api.html' } },
            { url: '/intermediate', config: { title: 'Intermediate List', templateUrl: 'app/admin/intermediate.html' } },
            { url: '/product', config: { title: 'ashboard', templateUrl: 'app/admin/product.html' } },
            { url: '/contactlist', config: { title: 'contact list', templateUrl: 'app/admin/contactlist.html' } },
            { url: '/news', config: { title: 'News', templateUrl: 'app/admin/News.html' } },
            { url: '/apiintermediate', config: { title: 'apiintermediate', templateUrl: 'app/admin/apiintermediate.html' } }
        ];
    }
})();

В качестве примера ссылка на мой сайт www.xyz.com работает, когда я просматриваю сайт через домашнюю страницу. Но если я непосредственно открываю www.xyz.com/product он не работает.

Любая помощь приветствуется

Теги:
angular-ui-router

1 ответ

0

вам, вероятно, не хватает базового url, который требуется для режима html 5. положите <base href="/" target="_blank"> в <head>

Обновить

Я не могу повторить вашу ошибку, вы имеете в виду, если вы измените URL-адрес в своем браузере, это не сработает? вот пример, который я сделал в jsfiddle, похоже, что он работает нормально.

  • 0
    Спасибо за ваш быстрый ответ. Это уже там. Но не работает
  • 0
    в этом случае вам необходимо обновить сообщение, опубликовать HTML-код конфигурации маршрута и сообщения об ошибках, если таковые имеются.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню