Я хочу удалить # hash в angularJs, используя $ locationProvider.html5Mode (true); но это заставляет все URL-адреса маршрутизироваться через angularJs. Как я могу настроить его, поэтому только некоторые предопределенные URL-адреса были перенаправлены через angularJs, а остальные все еще используют Laravel.AngularJs + Laravel Routing
Код:
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider
.when('/alls', {
templateUrl: app.site_url + 'ang/index',
controller: 'MainCtrl'
})
.when('/alls/page/:page', {
templateUrl: app.site_url + 'ang/index',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/alls'
});
$locationProvider.html5Mode(true);
}
]);
Так что, если это не/Аллс или/Аллс/страница /, Laravel должен обрабатывать маршрутизацию.
Вы используете перезапись на стороне сервера? – DaGardner
@Christian: Да, другие URL-адреса должны проходить через index.php. Я использую htaccess для повторной записи: 'RewriteCond% {REQUEST_FILENAME} -s [OR] RewriteCond% {REQUEST_FILENAME} -l [OR] RewriteCond% {REQUEST_FILENAME} -d RewriteRule ^. * $ - [NC, L] RewriteRule ^. * $ Index.php?/$ 1 [NC, L] ' –
и откуда вы обслуживаете интерфейс? Из каталога/public? – DaGardner