2015-07-04 2 views
0

Это, по сути, сообщение this question Так как вопрос был неправильно ответил.Угловые маршруты маршрутов + .htacces переписывание + маршрут Параметры = не работает

Используя базовый набор самостоятельно explainatory HTAccess переписывает

RewriteEngine on 

    # Don't rewrite files or directories 
    RewriteCond %{REQUEST_FILENAME} -f [OR] 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule^- [L] 

    # Rewrite everything else to index.html to allow html5 state links 
    RewriteRule^index.html [L] 

Рассмотрим следующие ссылки.

1. http://localhost/clouds 
2. http://localhost/wind 
3. http://localhost/city/Tokyo 

Ссылки 1 и 2 работают нормально при обновлении страницы, но ссылка 3 доступна только через страницу навигации (нажмите на ссылку). Если я вручную Pase третью ссылку в браузере я получаю на индексной странице, в отличие от линии 1 и 2.

Мой маршрут конфигурации:

theApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
    "use strict"; 
    console.log('Configuring'); 
    $routeProvider.when('/clouds', { 
     templateUrl: 'Views/Cloud.html', 
     controller: 'cloudController' 

    }).when('/wind', { 
     templateUrl: 'Views/Wind.html', 
     controller: 'windController' 

    }).when('/city/:cityName', { 
     templateUrl: 'Views/City.html', 
     controller: 'cityController' 

    }); 
    $locationProvider.html5Mode(true); 
}]); 

P.S. Я положил. Если бы у меня не было ссылок 1 и 2, вы бы не работали.

РЕДАКТИРОВАТЬ: Мой плохой я не добавлял метки привязки, ведущие к этим ссылкам.

<ul class="nav navbar-nav navbar-right"> 
        <li><a href="#"> Home</a></li> 
        <li><a href="/clouds"> Cloud</a></li> 
        <li><a href="/wind"> Wind</a></li> 
        <li><a href="/city/Tokyo"> CHAT!!!</a></li> 
</ul> 

ответ

1

Вы должны поместить <base href="/" /> На самом верху тега. Это работает, хотя я хотел бы знать, КАК И ПОЧЕМУ !!

Кредиты: This stackoverflow answer

Смежные вопросы