Опитвам се да внедря javascript рутер с window.history API. Използвам ui-router от дълго време, но искам да създам свой собствен рутер за моите по-малки приложения. Всичко изглежда добре, докато не срещна проблем като този: Обслужвам страницата си на localhost:8080/index.html. Насочвам в страницата със свойства, свързани с API на историята. Когато щракна върху маршрут, губя частта index.html. Например url става localhost:8080/home. Когато директно се опитам да отида в това състояние, както очаквате, получавам грешка 404 естествено. Как мога да принудя да маршрутизирам index.html до това състояние?
javascript window.history API при зареждане на първата страница
Отговори (1)
Историята на HTML5 (pushState
и т.н.) работи чрез пренаписване на URL адреса от страна на клиента. Следователно е необходимо сървърът също да може да пренапише URL адреса и да зареди същия index.html
файл, независимо от URL адреса.
Без това пренаписване на сървъра, двете възможни опции са:
Използвайте hashbang JavaScript рутер въз основа на URL като
/idex.html#!/current/path
Не използвайте JavaScript за маршрутизиране и просто разчитайте на структурата на директорията на сървъра, за да обслужвате различен файл за всяка крайна точка
person
Pandaiolo
schedule
08.12.2015
Просто предизвиках себе си, за да създам ui-рутер като 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