• Уважаемый Гость! Если вы зарегистрировались на нашем форуме, значит вам нужна помощь! Мы всегда рады вам помочь, еще ни один пользователь не получил отказа! Но мы так же нуждаемся в Вашей поддержке. Проект полностью бесплатный, мы не имеем права требовать от вас денег, нам это и не нужно! Но от любой финансовой поддержки не откажемся. Проект развивается, но иногда очень тяжело его поддерживать, особенно в финансовом отношении. Если у вас есть возможность поддержать нас финансово, мы будем вам очень благодарны! С уважением, команда Оскласс Россия!
  • Изменение в правилах форума! В связи с огромным количеством вопросов поступающих в адрес технической поддержки мы решили изменить правила форума! Просим всех пользователей обратить внимание на данные изменения и четко их соблюдать!
  • Ребята, нуждаемся в программистах! Если хотите зарабатывать и есть время, пишите администраторам сайта. Есть база и инструменты, нужен опыт и знания =)
  • Уважаемые пользователи! На форуме появились разделы по работе с системой Yclas. Yclas - это скрипт доски объявлений. Нужны разработчики.

Проблема с ЧПУ при переключении на русский язык

drakon

Активный пользователь
Да дело не в этих файлах Здесь все гораздо проще Вам же говорили, что нужно пересохранить все города и регионы. так дело в том что при сохранение этих городов ссылка на город формруется вот такой
Код:
%d0%90%d0%bb%d1%82%d0%b0%d0%b9%d1%81%d0%ba%d0%be%d0%b5
Ну например
Регион Агинский Бурятский АО ссылку надо на латинице прописать например вот так
Код:
aginskiy_buryatskiy_ao
, а город там такая же причина , тут она почемуто с админки не меняется нужно в базе найти таблицу oc_t_city и вней вместо городов увидите эти кракозябры их нужно поменять в столбце s_slug на латинские ссылки и будет нормально показывать
Вот пропишете вместоположении все города и будуд в поиске вот такие адреса /alhanay-c409205
 
Последнее редактирование:

drakon

Активный пользователь
А еще один вариант сделать на латинице дружественные адреса
Открыть этот файл oc-includes/osclass/helpers/hDefines.php
Найти строку
Код:
$url = str_replace('{ITEM_TITLE}', osc_sanitizeString($item['s_title']), $url);
и вставить вместо нее эту
Код:
$url = str_replace('{ITEM_TITLE}', osc_sanitizeString( cust_cyrillic_to_latin($item['s_title']) ), $url);
Далее откройте ваш файл темы functions.php
И в конце кода вставьте это
Код:
<?php
function cust_cyrillic_to_latin($textcyr) {
	$cyr  = array('а','б','в','г','д','e','ж','з','и','й','к','л','м','н','о','п','р','с','т','у',
		'ф','х','ц','ч','ш','щ','ъ','ь', 'ю','я','А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У',
		'Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ь', 'Ю','Я' );
	$lat = array( 'a','b','v','g','d','e','zh','z','i','y','k','l','m','n','o','p','r','s','t','u',
		'f' ,'h' ,'ts' ,'ch','sh' ,'sht' ,'a' ,'y' ,'yu' ,'ya','A','B','V','G','D','E','Zh',
		'Z','I','Y','K','L','M','N','O','P','R','S','T','U',
		'F' ,'H' ,'Ts' ,'Ch','Sh' ,'Sht' ,'A' ,'Y' ,'Yu' ,'Ya' );
 
 
 
 
	return str_replace($cyr, $lat, $textcyr); 
}
?>
Но все равно придется пересохранять местоположение
 

Katyusha

Новичок
Прошу прощения, но наверно вы меня не правильно поняли.
Есть пациент prodavay24.ru На нем были включены ЧПУ. отредактирован файл .htaccess и внесены изменения в formating.php такого вида
PHP:
	if (is_utf8($string)) {
$chars = array(
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
"Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
" "=> "_", "."=> "", "/"=> "_", "-" => "_");

$string = strtr($string, $chars);
 }
Далее были пересохранены все категории, местоположения (у меня их всего 2) и страна
В итоге я получила дружественные названия страны, городов и категорий латиницей (было - Авто и запчасти, стало - avto_i_zapchasti)
В столбцах s_slug все имело человеческий вид.
Через пару недель, когда в гугл по залетели все категории, замечаю: при клике по названию региона (Lnr) я получаю список всех объявлений этого региона https://prodavay24.ru/lnr-r301 это нормально. Далее пытаюсь уточнить поиск, жму на категорию "Авто и запчасти" в поисковом сайтбаре слева. И получаю 301 редирект с адреса https://prodavay24.ru/avto_i_zapchasti_lnr-r301 на адрес https://prodavay24.ru/lnr-r301
То есть вместо автомобилей я вижу все объявления целого региона. Иду в БД меняю руками нижний подчерк в категориях на тире (C "avto_i_zapchasti" на "avto-i-zapchasti") и вуаля, поиск по адресу https://prodavay24.ru/avto-i-zapchasti_lnr-r301 работает.
Вопрос был в том, почему срабатывает чертов редирект с "_" нижними подчерками в адресе?!

После того, как задала вопрос на форуме, подумала, что сейчас вы скажете, что я вносила какие-то изменения в код и поэтому не работает. Создала новую чистую ДО на поддомене dbo.prodavay24.ru и отписала, что проблема имеет место и на чистой доске
Проверила на новой тестовой доске, "из коробки", тема bender, с включенным ЧПУ
http://dbo.prodavay24.ru/legkovyie_avtomobili_d092d0bed180d0bed0bdd0b5d0b6d181d0bad0b0-r781849
эта ссылка должна была вести на Транспорт -> Легковые автомобили Воронежа, а перекидывает на Все объявления Воронежа
http://dbo.prodavay24.ru/d092d0bed180d0bed0bdd0b5d0b6d181d0bad0b0-r781849

То есть мне надо помочь не с %d0%90%d0%bb%d1%82%d0%b0%d0%b9%d1%81%d0%ba%d0%be%d0%b5 на тестовом поддомене dbo.prodavay24.ru, а с основным сайтом prodavay24.ru

Извините, что так много букв, просто получается неразбериха.
 
Последнее редактирование:

drakon

Активный пользователь
Ну тогда просто посмотрите правила в постоянных ссылках,
Правила свои проверьте для дружественных url, 90% что сами их изменили и результат такой, какой есть.
сравните стандартные от своих
 

Katyusha

Новичок
ну да, сама дура, я уже поняла...
ток чё делать то теперь?
смириться с неполным функционалом поиска?
исправить названия категорий, так как этого хочет движок, и вручную снести весь индекс с гугла и ждать индексации по новой?
или исправление категорий и редирект со старых ссылок категорий (70 штук) на новые, где нить в .htaccess ?
 

Domingo

Новичок
Привет Катя ,не пробовала переустоновить полностью все заново ?
 

Katyusha

Новичок
Domingo
доброе утро. да пробовала. (тут подробно описывала) устанавливала с нуля чистую доску на поддомене. включала чпу, брала специально переменовывала каегорию с нижними подчерками в БД. аналогичный 301 редирект.

раз уж ЧПУ не победить, может найдется специалист по редиректам в .htaccess

всю ночь сидела читала о редиректе 301. готового решения не нашла
этим выражением можно склеить в урле несколько дефисов в один: с site.com/catalog/page—1.html на site.com/catalog/page-1.html:
Код:
RewriteCond %{REQUEST_URI} ^(.*)--(.*)$
RewriteRule . %1-%2 [R=301,L]

Его можно как-то переделать под мои нужды, чтобы все категории и подкатегории с "_" нижними подчерками редиректило на категории и подкатегории с дефисами "-"

на первое время думаю этого хватило бы, а когда индекс гугла обновился бы полностью, убрала бы редирект.
 

Виталий

Новичок
Подскажите пожалуйста с такой проблемой.
Включил дружественные ссылки.
Категории отлично отображаются транслитом.
А вот города и регионы отображаются Русскими буквами.
Города пересохранял в таблице
ds_names_slug 1fk_c_country_codeb_active
Изменить Копировать Удалить 11 2 Ялта yalta UA 1
Изменить Копировать Удалить 9 2 Судак sudak
А ссылки отображаются так
/search/category,101/country,UA/region,АР+Крым/city,Ялта
 

bamser

Администратор
Подскажите пожалуйста с такой проблемой.
Включил дружественные ссылки.
Категории отлично отображаются транслитом.
А вот города и регионы отображаются Русскими буквами.
Города пересохранял в таблице
ds_names_slug 1fk_c_country_codeb_active
Изменить Копировать Удалить 11 2 Ялта yalta UA 1
Изменить Копировать Удалить 9 2 Судак sudak
А ссылки отображаются так
/search/category,101/country,UA/region,АР+Крым/city,Ялта
............
Это не ссылки так отображаются...это при поиске то что набрал человек отображается пример:
/search/pattern,тут+по-русски/category,122/city,Москва
/search/pattern,tut+no+russia/category,122/city,Москва
вместо Москвы можно выводить ID города Москвы....но какой смысл?
Надеюсь Вы не собираетесь поиск индексировать?
 
Верх