AJAX SEO - кнопки назад и вперед - PullRequest
0 голосов
/ 11 октября 2011

Я использую плагин Ben Almans для отслеживания изменений хеша:

http://benalman.com/projects/jquery-hashchange-plugin/

Кроме того, я изменил свою веб-конфигурацию, чтобы при вводе www.mysite.com/test1 PHP захватывал строку со значением test1 и перенаправлял ее в JavaScript. JavaScript отправляет его через AJAX, чтобы разорвать боковой скрипт и возвращает test1 page .

И после всего, что пользователь пишет www.mysite.com/test1 в адресной строке, появляется страница test1 . Все в порядке.

Теперь. Если вы введете www.mysite.com, вы увидите только страницу индекса, и есть ссылка на страницу test1 . Если вы нажмете его, он получит адрес www.mysite.com/#test1, и из-за этого плагин # для изменения хеш-функции может вернуть вас обратно с помощью AJAX при нажатии кнопки назад.

Я хочу, чтобы у вас был такой плагин или метод или система смены хэшей, которым не нужны эти # знаки. Потому что я хочу, чтобы пользователь видел тот же чистый адрес, как www.mysite.com/test1.

Возможно ли это?

1 Ответ

0 голосов
/ 11 октября 2011

Это невозможно. # - это префикс для хеш-части местоположения. Хэши, как правило, не отправляются на сервер, поэтому их изменение не вызовет запрос страницы.

Когда вы опускаете диафрагму (это имя символа #), инициируется запрос страницы.

Если вы хотите SEO URL, я рекомендую использовать это "

<script>
$(document).ready(function(){
    var base_url = location.protocol + "//" + location.host + "/";
    $("a[href^='+base_url+']").bind("click", function(ev){
        location.hash = $(this).href.substr(base_url.length)
        ev.preventDefault();
    })
});
</script>
<a href="http://www.mysite.com/test1">Link</a>

Это будет связывать onclick в каждом элементе <a> в документе с атрибутом href, который начинается с базового URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...