2016-01-29 6 views
1

Я хочу изменить URL-адрес на www.mysite.com/home, когда пользователь посещает корневую папку моего сайта (www.mysite.com).History.replaceState() дает ошибку 404 в консоли

Я использую History.js для достижения этой цели, и я использую этот код:

$(document).ready(function(){ 
    History.replaceState({state: 'home'}, 'home', '/home'); 
}); 

этого кусок кода я получаю 404 ошибки в консоли, указывающую, что делает www.mysite.com/home не существует (чего нет). Почему я получаю эту проблему? так как я пришел к выводу, что авиза истории фактически не загрузит реальные ресурсы.

ps: страница работает нормально, но я не хочу получать эту ошибку в консоли, что мне делать?

+0

Я уверен, что ваша проблема в том, что вы в настоящее время не имеют состояния, чтобы заменить, когда страница загружается. Когда загружается страница, я думаю, что объект истории «пуст», пока вы не выполните несколько нажатий состояний. – thatidiotguy

+0

Я хочу, чтобы мой первоначальный url был www.mysite.com/home, и я хочу сделать это на стороне клиента (после загрузки страницы). Каково ваше решение? – roostaamir

ответ

0

Я не знаком с History.js, но если вы использовали API истории, вы бы сделали pushState, а не replaceState.

history.pushState(state, title, "/home"); 

EDIT:

Как насчет этого?

history.pushState(state, title, "/"); 
history.pushState(state, title, "/home"); 

или это:

history.pushState(state, title, "/"); 
history.replaceState(state, title, "/home"); 
+0

проблема с pushstate() заключается в том, что www.mysite.com все еще будет в стеке истории. Я хочу, чтобы мой пользователь зашел на сайт www.mysite.com, см. URL-адрес www.mysite.com/home, а затем, когда он/она нажимает кнопку «Назад», браузер берет пользователя, где он/она был раньше www.mysite.com – roostaamir

+0

@ user2078785 Вы ​​подтвердили, что это правда? Я не думаю, что это так. Прошло некоторое время с тех пор, как я работал над этим, но я уверен, что вы попали на страницу с историей, имеющей нуль. Я собираюсь попробовать это в скрипке. – thatidiotguy

+0

на самом деле да. Я перехожу на сайт www.mysite.com (который в настоящее время локальный), я нажимаю состояние, я нажимаю кнопку «Назад», и я все еще нахожусь на своем собственном сайте – roostaamir

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