Как сделать русские слова в URL

Статус
В этой теме нельзя размещать новые ответы.

b7186

Гуру форума
Регистрация
19 Янв 2011
Сообщения
727
Реакции
95
Сабж. Есть маленький статичный сайт на html, необходимо сделать часть страниц с английскими названиями, а часть с русскими, т.е.:
  • site.ru/bla-bla-bla.html
  • site.ru/бла-бла-бла.html
Как это можно реализовать? Пробовал залить в исходно виде, но при переходе на русскоязычные страницы выдает ошибку 404.
 
Для просмотра ссылки Войди или Зарегистрируйся
echo '<a href="site.ru/'.urlencode('бла-бла-бла').'.html">';

p.s. Если не ошибаюсь, то русский урл работает только в UTF-8 кодировке.
 
"Есть маленький статичный сайт на html" — то есть php скрипты не работают!
Мой вам совет — не используйте кириллицу в адресах страниц, иначе получится полная ерунда. Лучше всего — это правильная перелинковка, тогда поисковик автоматически поменяет адрес страницы на русский язык. Для начала используйте просто ЧПУ(человеко понятные урл).

А если вам все-таки просто необходимо перекодировать, то обратите внимание на адреса в википедии... дальше думайте сами.
 
"Есть маленький статичный сайт на html" — то есть php скрипты не работают!
Возьмите все адреса вашего сайта. Возьмите php скрипт. Закодируйте им урлы. Вставьте на свой сайт. Будет как у википедии. См. мой пост выше.
 
Немного не понял вас вначале, теперь все ясно.
 
Со скриптами я не очень дружу, попробовал вот так:

На странице 404 ошибки выводится кодированный url:
The requested URL /%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html was not found on this server. That’s all we know.
Попробовал применить этот кусок на своем сайте. Создал в корне сайта страницу:
%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html
Но все равно при обращении к этой странице выдается 404 ошибка.
В чем проблема то?
 
на сколько я знаю, что бы вы ни делали, все адреса на латинском будут кодироваться (кроме домена рф) лучше использовать транслитерацию
 
Со скриптами я не очень дружу
Создаем php файлик. Закидываем в него
PHP:
<?php
echo  urlencode('бла-бла-бла.html');
?>
Запускаем скрипт на сервере или локально, например, на денвере.
На выходе получаем
%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html
вместо
Код:
http://www.google.ru/бла-бла-бла.html
делаем
PHP:
http://www.google.ru/%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html
 
vlad)2111 написал(а):
...лучше использовать транслитерацию
Да идите вы лесом со своим транслитом! Если спрашиваю про кирилицу буквы, значит нужна кирилица.
dandandan написал(а):
Создаем php файлик. Закидываем в него...
Ну файлик более грамотно, согласен, но по сути ведь тоже самое и получается!
Вот то, что предлагаете вы:
Код:
%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html
А вот то, что получил я:
Код:
%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html
Где разница то?
Уже вопрос не в том, как закодировать, а в том, как заставить все это работать.
Создавал страницы вида:
Код:
%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0-%D0%B1%D0%BB%D0%B0.html
и
Код:
бла-бла-бла.html
В обоих случаях при обращении к указанной странице сервер отдает 404 ошибку, а как вы наверное уже догадались, надо что бы страница грузилась.
 
ТС, я когда делал сайт на движке DLE, я просто мог зайти в базу данных MySql и поменять на русский язык в таблицах базы все, включая категорию, и название новости. С html особо не работал, поэтому сильно меня эта тема с созданием адреса на кириллице не интересовала. Хотите, воспользуйтесь моим методом. Кстати, все это работало на денвере.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху