Recommended Posts

Добрый день, подскажите можно ли сделать ссылки на русском?

Исправил arenda-kvartir на аренда-квартир, но при вызове ссылки получаю ошибку в содержании сайта: Ошибка 404: страница не найдена

 

Хотелось бы иметь ссылки на русском языке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день, подскажите можно ли сделать ссылки на русском?

Исправил arenda-kvartir на аренда-квартир, но при вызове ссылки получаю ошибку в содержании сайта: Ошибка 404: страница не найдена

 

Хотелось бы иметь ссылки на русском языке.

На самом деле русские ссылки не рекомендуют использовать, очень плохо влияет на ранжирование. Использовать можно но не рекомендуют. А arenda-kvartir это чпу , удобно читаемая ссылка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

человек просто логи не видел с ссылками на русском :)

Имхо транслитерация - оптимально и самодостаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

человек просто логи не видел с ссылками на русском :)

Имхо транслитерация - оптимально и самодостаточно.

Точно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день, подскажите можно ли сделать ссылки на русском?

Исправил arenda-kvartir на аренда-квартир, но при вызове ссылки получаю ошибку в содержании сайта: Ошибка 404: страница не найдена

 

Хотелось бы иметь ссылки на русском языке.

Движок не поддерживает русские ссылки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На самом деле русские ссылки не рекомендуют использовать, очень плохо влияет на ранжирование. Использовать можно но не рекомендуют. А arenda-kvartir это чпу , удобно читаемая ссылка.

у меня принципиальное к этому отношение:я русский, говорю по-русски и ссылки хочу тоже на русском.

Человеческим языком считаю русский, поэтому для меня чпу (человеку понятный урл (ссылка)) это "аренда-квартир", а всё остальное извращение. И читается кстати намного удобнее, да и смысл не потеряется и не исказится во время перевода на более бедную латынь.

 

П.С.: А все рекомендации и пр. - не особо верю всему что говорят

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

человек просто логи не видел с ссылками на русском :)

Имхо транслитерация - оптимально и самодостаточно.

видел. Не понятно откуда только это берется, если все сервера большей частью на линуксе, а линукс 100% поддерживает утф.Это как я думаю, просто кто-то что-то мутит чтоб ссылки хранились не в утф, а в каких-то странных кодировках, и были вследствие этого нечитаемыми. Я как-то обсуждал на форуме Вордпресса данный вопрос (отказался от него в итоге), так выяснил, что в данных нечитабельных кодировках ссылка в БД занимает в 6 раз больше места, чем в том же утф.. Спрашивается какой смысл использовать нечитаемые и более объёмные ссылки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Движок не поддерживает русские ссылки.

можете сказать, где происходить транслитерация? У меня есть сайт на ДЛЕ, я там докручивал сам, в итоге  ссылки нормально отображаются в броузере и в БД. Логи действительно в непонятной кодировке, но это скорее от моей недоработки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можете сказать, где происходить транслитерация? 

 

Транслитерацией, как приведением надписей на кириллице к латинскому литералу, заведует функция transliteMe() из файла /apps/system/lib/sitebill.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...занимает в 6 раз больше места, чем в том же утф..

 

Ну, толще утф-8, кажется, только утф-16.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Транслитерацией, как приведением надписей на кириллице к латинскому литералу, заведует функция transliteMe() из файла /apps/system/lib/sitebill.php

что-то не работает. В файле исправил все латинские буквы на русские, но если пишу продажа квартир, то ссылка так и остаётся с пробелом, хотя пробел должен тоже заменяться. Если на латыне пишу prodazha kvartir; то пробел также не заменяется на тире (как должен, как я понимаю)

А если пишу чпу от руки (продажа-квартир) и вызываю потом в броузере, то по-прежнему получаю ошибку 404

Кеш очистил, броузер даже перезапустил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну, толще утф-8, кажется, только утф-16.

я проверял опытным путем: создавал ссылку определенного количества знаков, и сверял сколько она занимает в кодировке утф без бом (в блокноте) и сколько после копирования из строки броузера (она принимала нечитаемый вид с процентами). В виде кодировки с процентами она была в 6 раз больше (правда не помню сейчас, она была  больше исходной или вида утф)

 

Кстати сравнил ссылку данного топика: ссылки-на-русском-языке: общ.кол-во знаков: 23 , в утф8 - 42зн, а скопированная из броузера ссылка в виде процентов занимает 123зн. (почти в 6 раз больше исходной или в 3 раза больше утф)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

что-то не работает.

 

Вы наверное не с того конца зашли.

Эта функция не работает в момент парсинга урла. Т.е. она не при делах тогда, когда вы вводите адрес. Ее задача при создании сущности (объявления, анпример) или автооперациях, как создание алиасов для категорий, сформировать алиасную строку из возможной кириллической строки и отдать ее на запись в базу. Откуда она и берется обработчиком при введении урла в строку браузера.

Или я не понял то, что вы описали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вы наверное не с того конца зашли.

Эта функция не работает в момент парсинга урла. Т.е. она не при делах тогда, когда вы вводите адрес. Ее задача при создании сущности (объявления, анпример) или автооперациях, как создание алиасов для категорий, сформировать алиасную строку из возможной кириллической строки и отдать ее на запись в базу. Откуда она и берется обработчиком при введении урла в строку браузера.

Или я не понял то, что вы описали.

я открываю раздел Структура, там список разделов объявлений (аренда квартир, продажа и т.д). Открываю для обработки например продажа квартир, внизу есть поле для ввода чпу ссылки, там прописываю свою ссылку на русском. (или на латыне без пробела) - но при открытии данной категории на сайте, получаю ошибку 404

post-1957-0-11270900-1395160399_thumb.jp

post-1957-0-89452300-1395160437_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потому что урл в движок заходит не урл-декодированный, а в БД хранится урл-декодированный. И при их сличении совпадение не находится.

 

/apps/system/lib/sitebill_krascap.php:887

замените на $url_parts=parse_url(urldecode($request_uri));

 

/apps/system/lib/sitebill.php::getClearRequestURI()

 

строка 2290

$REQUESTURIPATH=trim(str_replace('\\', '/', parse_url(urldecode($_SERVER['REQUEST_URI']), PHP_URL_PATH)),'/');

 

Попробуйте с этим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробуйте с этим.

да, так заработало!  Но не всё. Не открываются подкатегории. То есть категория Новостройки (чпу: новостройки), подкатегория 1-комн. (чпу: 1-комн) - получаю ошибку 404 (или комнаты, к примеру). Объявления сохраненные в данной подкатегории - открываются (например с главной страницы)

ПС: в sitebill.php у меня номер строки 2151 (не 2290)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/apps/system/lib/sitebill_krascap.php

ф-ция _detectUrlParams()

первая строка в ее теле:
$server_request_uri=parse_url(urldecode($server_request_uri), PHP_URL_PATH);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

/apps/system/lib/sitebill_krascap.php

да, сейчас работает, спасибо! Потестирую ещё, если что - отпишусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас