Я использую Html5Mode(true)
в своем приложении AngularJS. Это прекрасно работает, когда я просматриваю на мой сайт, как это:Неожиданный токен при обновлении страницы с использованием Html5Mode
http://www.example.com
Это затем преобразуется в:
http://www.example.com/home/index
И моя страница отображается нормально.
Но, когда я нажимаю F5, то я получаю много ошибок в моем окне консоли:
Resource interpreted as Script but transferred with MIME type text/html: "http://www.example.com/home/js/jquery/jquery.min.js". index:22
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.example.com/home/js/slider/angular.rangeSlider.css". index:16
Uncaught SyntaxError: Unexpected token < jquery.min.js:1
Resource interpreted as Script but transferred with MIME type text/html: "http://www.example.com/home/js/angular/angular-resource.min.js". index:25
Resource interpreted as Script but transferred with MIME type text/html: "http://www.example.com/home/js/angular/angular.min.js". index:24
Uncaught SyntaxError: Unexpected token < angular.min.js:1
Uncaught SyntaxError: Unexpected token < angular-resource.min.js:1
Resource interpreted as Script but transferred with MIME type text/html: "http://www.example.com/home/js/angular/angular-cookies.min.js". index:26
Uncaught SyntaxError: Unexpected token <
Я уже настроил мой .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]
Но это Безразлично Не работайте, когда я обновляю страницу. Затем я получаю ошибки. Есть что-то, что мне не хватает?
Я использую ui-router
. Не уверен, что это имеет значение. Мой маршрут выглядит примерно так:
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/home/index');
$stateProvider
.state('home', {
abstract: true,
url: '/home',
templateUrl: '/tpl/home.html'
})
.state('home.index', {
url: '/index',
templateUrl: '/tpl/home_index.html'
})
Любая идея, почему обновление страницы приводит к ошибкам, которые я написал выше?
Я только что нашел решение. Проблема в том, что вы переписываете все пути к серверу. Вам необходимо создать правило для исключения папок. Содержимое и скрипты – VsMaX