К URL категории магазина добавляется конструкция: %EF%BB%BF (/shop%EF%BB%BF/)

К URL категории магазина добавляется конструкция: "%EF%BB%BF". Как сейчас:

http://site.ru/shop%EF%BB%BF/product_name_1

Как нужно:

http://site.ru/shop/product_name_1

Какие есть способы решения этой проблемы?

8 ответов

  • 0
    Алексей Webasyst 9 сентября 2016 17:24 #

    отредактируйте структуру сайта, вероятно у вас там лишние символы добавлены.

    • +1
      Vlad Vlad 13 сентября 2016 18:58 #

      Прежде чем предлагать решение, читайте. Выше это уже было предложено, но проблема не в этом.

  • 1
    Vlad 9 сентября 2016 17:29 #

    О каких файлах СТРУКТУРЫ может идти речь?

    В настройке webasyst/site/#/routing/ прописано без символов.

    shop/*
  • 1
    Vlad 9 сентября 2016 18:43 #

    После shop НЕТ пробела, а если бы был, то вывело бы %20, а выводит %EF%BB%BF

  • 1
    Vlad 9 сентября 2016 18:57 #

    Проблема: В конец URL магазина добавляются символы EF BB BF(Byte Order Mark (BOM)), как убрать?
    Задача: Нужно или правильно обрабатывать url /shop/ и убирать их (%EF%BB%BF).

    Что по этому вопросу найдено:

    Нужно удалить BOM из строки на PHP (Добавляются байты 0xEF, 0xBB, 0xBF)
    Это метка порядка байтов Юникода (англ. Byte Order Mark, BOM)
    Её часто называют сигнатурой (соответственно, UTF-8 и UTF-8 with Signature). По наличию сигнатуры программы могут автоматически определить, является ли файл закодированным в UTF-8.
    Однако файлы с такой сигнатурой могут некорректно обрабатываться старыми программами, xml-анализаторами и РНР.

    Как удалить BOM:

    <?php
    /**
     * Удалить BOM из строки
     * @param string $str - исходная строка
     * @return string $str - строка без BOM
    */
    function removeBOM($str="") {
    if(substr($str, 0, 3) == pack('CCC', 0xef, 0xbb, 0xbf)) {
    $str = substr($str, 3);
    }
     return $str;
    }
    ?>

    Как использовать:

    <?php
    // Строка, например, полученная при помощи file_get_contents()
    $str = 'Строка с BOM';
    // Строка без BOM
    $str = removeBOM($str);
    echo $str;
    ?>
  • 1
    Vlad 13 сентября 2016 18:16 #

    Прежде чем предлагать решение, читайте. Выше это уже было предложено, но проблема не в этом.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите