Question2Answer SEO URL. Замена кириллических символов латинскими

Заметил что в Question2Answer при использовании кириллических символов в вопросах ссылки создаются соответственно типа example.com/1/D0%B%DD%D1%D1% и т.д.

Чтобы кириллические символы в ссылках на вопросы автоматически заменялись на латинские и ссылки были вида example.com/1/test необходимо в файле QA-base.php в начале функции qa_q_request() примерно на 1204 строке добавить код:

$cyr = str_replace(array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ъ', 'ы', 'э', 'ю', 'я'), array('a', 'b', 'v', 'g', 'd', 'e', 'jo', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh', 'sch', 'j', 'j', 'y', 'e', 'y', 'ya'), $title);
        return (int)$questionid.'/'.$cyr;
Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Вливайтесь в общение

10 комментариев

Добавить комментарий

  1. а как теги сделать на транслите непонятно

  2. Здравствуйте! Поделитесь опытом, как вы меняли структуру урлов в Question2Answer. В админке бредовые урлы можно выбрать:
    /123/why-do-birds-sing (нужен htaccess файл)
    /index.php/123/why-do-birds-sing
    /?qa=123/why-do-birds-sing
    /?qa=123&qa_1=why-do-birds-sing
    /index.php?qa=123&qa_1=why-do-birds-sing

    Как сделать, чтобы у каждого вопроса был полноценный урл на латинице?

  3. Подскажите, может есть решение, со ссылками для категорий? Т.к. это только решение для вопросов.

    1. Тоже интересует решение этой проблемы

      1. ссылки для категорий выставляем в настройки категории там есть поле URL забиваем на транслите и все

  4. А почему нельзя юзать кириллические домены?

    1. Можно использовать и кириллические ссылки. Они вполне нормально индексируются.
      Но может кому для каких то целей или предпочтений удобнее латинские символы.

  5. Разобрался, надо это Ваше решение помещать НЕ в начале функции qa_q_request(), а заменить ею такую строчку в этой функции: return (int)$questionid.’/’.$title;
    И будет всем счастье!
    Благодарю за внимание!

  6. Действительно плюсики вместо дефисов…
    Как настроить что бы были дефисы?

  7. Спасибо добрый человек, помогло. Только почему между символами плюсики, а не дефисы? prostolinux.ru/help/4/kak+skachivatj+igry+na+linuks+17.1