alexey 2 Жалоба Опубликовано: March 17, 2014 Добрый день, подскажите можно ли сделать ссылки на русском?Исправил arenda-kvartir на аренда-квартир, но при вызове ссылки получаю ошибку в содержании сайта: Ошибка 404: страница не найдена Хотелось бы иметь ссылки на русском языке. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: March 17, 2014 Добрый день, подскажите можно ли сделать ссылки на русском?Исправил arenda-kvartir на аренда-квартир, но при вызове ссылки получаю ошибку в содержании сайта: Ошибка 404: страница не найдена Хотелось бы иметь ссылки на русском языке.На самом деле русские ссылки не рекомендуют использовать, очень плохо влияет на ранжирование. Использовать можно но не рекомендуют. А arenda-kvartir это чпу , удобно читаемая ссылка. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: March 17, 2014 человек просто логи не видел с ссылками на русском Имхо транслитерация - оптимально и самодостаточно. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: March 17, 2014 человек просто логи не видел с ссылками на русском Имхо транслитерация - оптимально и самодостаточно.Точно Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: March 18, 2014 Добрый день, подскажите можно ли сделать ссылки на русском?Исправил arenda-kvartir на аренда-квартир, но при вызове ссылки получаю ошибку в содержании сайта: Ошибка 404: страница не найдена Хотелось бы иметь ссылки на русском языке.Движок не поддерживает русские ссылки. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 На самом деле русские ссылки не рекомендуют использовать, очень плохо влияет на ранжирование. Использовать можно но не рекомендуют. А arenda-kvartir это чпу , удобно читаемая ссылка.у меня принципиальное к этому отношение:я русский, говорю по-русски и ссылки хочу тоже на русском.Человеческим языком считаю русский, поэтому для меня чпу (человеку понятный урл (ссылка)) это "аренда-квартир", а всё остальное извращение. И читается кстати намного удобнее, да и смысл не потеряется и не исказится во время перевода на более бедную латынь. П.С.: А все рекомендации и пр. - не особо верю всему что говорят Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 человек просто логи не видел с ссылками на русском Имхо транслитерация - оптимально и самодостаточно.видел. Не понятно откуда только это берется, если все сервера большей частью на линуксе, а линукс 100% поддерживает утф.Это как я думаю, просто кто-то что-то мутит чтоб ссылки хранились не в утф, а в каких-то странных кодировках, и были вследствие этого нечитаемыми. Я как-то обсуждал на форуме Вордпресса данный вопрос (отказался от него в итоге), так выяснил, что в данных нечитабельных кодировках ссылка в БД занимает в 6 раз больше места, чем в том же утф.. Спрашивается какой смысл использовать нечитаемые и более объёмные ссылки? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 Движок не поддерживает русские ссылки.можете сказать, где происходить транслитерация? У меня есть сайт на ДЛЕ, я там докручивал сам, в итоге ссылки нормально отображаются в броузере и в БД. Логи действительно в непонятной кодировке, но это скорее от моей недоработки. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 18, 2014 можете сказать, где происходить транслитерация? Транслитерацией, как приведением надписей на кириллице к латинскому литералу, заведует функция transliteMe() из файла /apps/system/lib/sitebill.php Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 18, 2014 ...занимает в 6 раз больше места, чем в том же утф.. Ну, толще утф-8, кажется, только утф-16. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 Транслитерацией, как приведением надписей на кириллице к латинскому литералу, заведует функция transliteMe() из файла /apps/system/lib/sitebill.phpчто-то не работает. В файле исправил все латинские буквы на русские, но если пишу продажа квартир, то ссылка так и остаётся с пробелом, хотя пробел должен тоже заменяться. Если на латыне пишу prodazha kvartir; то пробел также не заменяется на тире (как должен, как я понимаю)А если пишу чпу от руки (продажа-квартир) и вызываю потом в броузере, то по-прежнему получаю ошибку 404Кеш очистил, броузер даже перезапустил Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 Ну, толще утф-8, кажется, только утф-16.я проверял опытным путем: создавал ссылку определенного количества знаков, и сверял сколько она занимает в кодировке утф без бом (в блокноте) и сколько после копирования из строки броузера (она принимала нечитаемый вид с процентами). В виде кодировки с процентами она была в 6 раз больше (правда не помню сейчас, она была больше исходной или вида утф) Кстати сравнил ссылку данного топика: ссылки-на-русском-языке: общ.кол-во знаков: 23 , в утф8 - 42зн, а скопированная из броузера ссылка в виде процентов занимает 123зн. (почти в 6 раз больше исходной или в 3 раза больше утф) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 18, 2014 что-то не работает. Вы наверное не с того конца зашли.Эта функция не работает в момент парсинга урла. Т.е. она не при делах тогда, когда вы вводите адрес. Ее задача при создании сущности (объявления, анпример) или автооперациях, как создание алиасов для категорий, сформировать алиасную строку из возможной кириллической строки и отдать ее на запись в базу. Откуда она и берется обработчиком при введении урла в строку браузера.Или я не понял то, что вы описали. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 Вы наверное не с того конца зашли.Эта функция не работает в момент парсинга урла. Т.е. она не при делах тогда, когда вы вводите адрес. Ее задача при создании сущности (объявления, анпример) или автооперациях, как создание алиасов для категорий, сформировать алиасную строку из возможной кириллической строки и отдать ее на запись в базу. Откуда она и берется обработчиком при введении урла в строку браузера.Или я не понял то, что вы описали.я открываю раздел Структура, там список разделов объявлений (аренда квартир, продажа и т.д). Открываю для обработки например продажа квартир, внизу есть поле для ввода чпу ссылки, там прописываю свою ссылку на русском. (или на латыне без пробела) - но при открытии данной категории на сайте, получаю ошибку 404 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 вот кстати что в файле sitebill.php Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 18, 2014 Потому что урл в движок заходит не урл-декодированный, а в БД хранится урл-декодированный. И при их сличении совпадение не находится. /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)),'/'); Попробуйте с этим. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 Попробуйте с этим.да, так заработало! Но не всё. Не открываются подкатегории. То есть категория Новостройки (чпу: новостройки), подкатегория 1-комн. (чпу: 1-комн) - получаю ошибку 404 (или комнаты, к примеру). Объявления сохраненные в данной подкатегории - открываются (например с главной страницы)ПС: в sitebill.php у меня номер строки 2151 (не 2290) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 18, 2014 /apps/system/lib/sitebill_krascap.phpф-ция _detectUrlParams()первая строка в ее теле:$server_request_uri=parse_url(urldecode($server_request_uri), PHP_URL_PATH); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexey 2 Жалоба Опубликовано: March 18, 2014 /apps/system/lib/sitebill_krascap.phpда, сейчас работает, спасибо! Потестирую ещё, если что - отпишусь. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах