Как на сайте реализовать копируемые URL адреса с кириллицей без преобразования их в UTF кодировку.
С этим можно бороться на стороне браузера. Для Chrome есть специальный плагин, для FireFox можно отключить преобразование ссылки отключив опцию network.standard-url.escape-utf8 в настройках. Но я попытаюсь бороться с нелатинскими (кириллическими и прочими) символами в ссылке на стороне сервера\сайта.
Способ необычный и не подходит для большинства сайтов, но для AJAX сайтов может пригодится или поможет в реализации похожих нестандартных трюков.
Метод очень прост
Если в ссылке перед латинскими символами поставить символ #, текст после него не будет преобразован.
Для того чтобы реализовать это, нам надо добавить в URL данный символ при помощи метода
history.pushState.
<script type="text/javascript">
window.history.pushState("null", "null", "http://wfi.lomasm.ru/=#русский.wfi_в_ногу_со_временем/необычный_подход_к_созданию_копируемых_url_адресов_страниц_без_кодирования_нелатинских_символов_в_utf");
</script>
Теперь, такой ссылкой приятно поделиться. Но как попасть на нужный материал перейдя по ней, ведь теперь ссылка указывает на главную, а все что после
# это параметры для Hash-навигации.
Тут поможет не менее простой скрипт, которому я дал имя = и положил в корень сайта, а можно было разместить и на главной.
<script>
function rehash()
{
var localhash = location.hash.substring(1);
if (localhash !="") {
localhash=decodeURI(localhash);
window.location = localhash;
}
}
rehash();
</script>
Все что делает скрипт - это избавляется от =# в адресе страницы и выполняет переход по оригинальному адресу.
Такой метод можно применить для ссылок у которых необходимо сохранить читабельность после копирования без необходимости индексирования содержимого,
или для придания индексируемым ссылкам наглядности содержимого, если основной адрес материала представляет из себя короткую ссылку,
но хоть и некоторые поисковые системы прекрасно понимают такие ссылки, я бы воздержался от их использования, ибо большая зависимость от javascrypt.
Примеры использования:
Например: (для неиндексируемых)
Материал: статус заказа 011734 покупка электронных компонентов
Имеет URL http://site/статус заказа 011734 покупка электронных компонентов
URL ссылки которые не нужно индексировать, но которыми можно поделиться без деформации URL можно дополнить символом # но тут потребуется редирект с помощью скрипта на отдельной странице или на главной.
http://site/=#статус заказа 011734 покупка электронных компонентов
или
http://site/статус заказа 011734 покупка электронных компонентов
Например: (без проблем с индексацией)
Статья: О_продвинутом_WFI_сервере
Имеет короткий URL http://site/Gtf23J или http://site/id=43221
Такой URL можно обернуть читабельным и понятным заголовком материала, который можно скопировать и вставить в блокнот или поделиться с товарищем, редирект при этом не нужен.
Таким образом:
http://site/Gtf23J#О_продвинутом_WFI_сервере или http://site/id=43221#О_продвинутом_WFI_сервере