Я пытаюсь реализовать маршрутизатор javascript с API-интерфейсом window.history. Я давно использую ui-router, но хочу создать свой собственный роутер для своих небольших приложений. Все выглядит нормально, пока не возникает такая проблема: я обслуживаю свою страницу по адресу localhost:8080/index.html. Я перенаправляю страницу со свойствами, связанными с API истории. Когда я нажимаю на маршрут, я теряю часть index.html. Например, URL становится localhost:8080/home. Когда я напрямую пытаюсь перейти в это состояние, как вы ожидаете, я естественным образом получаю ошибку 404. Как заставить перенаправить index.html в это состояние?
javascript API window.history при загрузке первой страницы
Ответы (1)
История HTML5 (pushState
и т. д.) работает путем перезаписи URL-адреса на стороне клиента. Следовательно, сервер также должен иметь возможность переписывать URL-адрес и загружать один и тот же файл index.html
независимо от URL-адреса.
Без этой перезаписи сервера возможны два варианта:
Используйте маршрутизатор JavaScript hashbang на основе URL-адреса, такого как
/idex.html#!/current/path
Не используйте JavaScript для маршрутизации, а просто полагайтесь на структуру каталогов сервера, чтобы обслуживать разные файлы для каждой конечной точки.
person
Pandaiolo
schedule
08.12.2015
Я просто бросал себе вызов, чтобы создать пользовательский интерфейс, такой как angular, crossroads.js или history.js. Я решил использовать hashbang и выглядит хорошо :)
- person erdysson; 08.12.2015
Прохладно ! Можете ли вы подтвердить мой ответ, если он вас устраивает? Спасибо !
- person Pandaiolo; 08.12.2015
index.html#/my/route
или не использовать маршрутизацию javascript и просто полагаться на архитектуру папок сервера для организации html-файлов. - person Pandaiolo   schedule 08.12.2015