Как убрать ссылку /index.php?route=common/home?

Тема в разделе 'Общие вопросы', создана пользователем Antik, 18 апр 2014.

  1. Antik
    TopicStarter Overlay
    Оффлайн

    Antik Прохожий Пользователь

    Регистрация:
    15.04.14
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Когда нажимаешь на логотип в Интернет магазине на Opencart, то переход осуществляется на адрес site.ua//index.php?route=common/home, а должно перенаправлять на главную страницу. Как это исправить? В Интернете, есть решения, но ни одно мне не подходит. Возможно, что-то не так делаю.
  2. WebBiz
    Оффлайн

    WebBiz Вождь Команда форума Администратор

    Регистрация:
    11.03.14
    Сообщения:
    1.126
    Симпатии:
    165
    Пол:
    Мужской
    Тоже сталкивался с подобной проблемой и как у вас ничего не получалось. Нашел такое решение:
    У файле "url.php" (system/library/url.php):
    после строчки:
    PHP:
    if ($args) { $url .= str_replace('&''&''&' ltrim($args'&')); }
    (приблизительно 29 строка)
    вставляем:
    PHP:
    else { if($route == 'common/home') { if($connection == 'NONSSL') { return HTTP_SERVER; } else { return HTTPS_SERVER; } } }
    Antik нравится это.
  3. WebBiz
    Оффлайн

    WebBiz Вождь Команда форума Администратор

    Регистрация:
    11.03.14
    Сообщения:
    1.126
    Симпатии:
    165
    Пол:
    Мужской
    А какой способ Вам помог, в решении данной проблемы?
  4. Edi
    Оффлайн

    Edi Новичек Пользователь

    Регистрация:
    22.03.14
    Сообщения:
    25
    Симпатии:
    1
    Пол:
    Мужской
    А мне помог следующий способ:
    У файле /system/library/url.php
    Находи строчку:
    PHP:
    $url .= 'index.php?route=' $route;
    После нее вставляем:
    PHP:
    if ($args) {
    if(
    $route == 'common/home') {
    if(
    $connection == 'NONSSL') {
    $url HTTP_SERVER.str_replace('&''&''?' ltrim($args'&'));
    return 
    $url;
    } else {
    $url HTTPS_SERVER.str_replace('&''&''?' ltrim($args'&'));
    return 
    $url;
    }
    } else {
    $url .= str_replace('&''&''&' ltrim($args'&'));
    }
    } else {
    if(
    $route == 'common/home') {
    if(
    $connection == 'NONSSL') { return HTTP_SERVER; }
    else { return 
    HTTPS_SERVER; }}}
    return 
    $this->rewrite($url);
  5. Яна
    Оффлайн

    Яна Любопытный Пользователь

    Регистрация:
    28.07.14
    Сообщения:
    54
    Симпатии:
    0
    Пол:
    Женский
    вставила такую строчку, но не могу понять, помогло мне или нет:)
    Проверьте, пожалуйста
  6. WebBiz
    Оффлайн

    WebBiz Вождь Команда форума Администратор

    Регистрация:
    11.03.14
    Сообщения:
    1.126
    Симпатии:
    165
    Пол:
    Мужской
    Все нормально. :)
  7. WebBiz
    Оффлайн

    WebBiz Вождь Команда форума Администратор

    Регистрация:
    11.03.14
    Сообщения:
    1.126
    Симпатии:
    165
    Пол:
    Мужской
    Я работаю с маленьким интернет магазином и впервые решить эту проблему мне удалось тем способом, который я указал у сообщении, которое в начале темы. Но не так давно я перевел магазин на работу по SSL протоколу и эта проблема - снова появилась, но только при клике на логотип. В этот раз помог способ Edi. Спасибо тебе!
  8. BlackMan
    Оффлайн

    BlackMan Прохожий Пользователь

    Регистрация:
    26.09.14
    Сообщения:
    27
    Симпатии:
    0
    Пол:
    Мужской
    Ссылку типа: site.ua/index.php?route=common/home, при нажатии на логотип, удалось убрать способом, который написал WebBiz. Но при нажатии на кнопку "главная" - никак не удается убрать вот это: ?route=common/home. Кто знает, как решить эту проблему?
    --- Добавлено, 26 сен 2014--- Дата первого сообщения: 26 сен 2014 ---
    Удалось решить проблему. У файле:
    PHP:
    /system/library/response.php
    Нужно добавить у функцию:
    PHP:
    public function output() {
    вот этот код:
    PHP:
    if (!defined('HTTP_CATALOG')) $this->output str_replace('?route=common/home'''$this->output);
    В итоге функция должна выглядеть так:
    PHP:
    public function output() {
          if (!
    defined('HTTP_CATALOG')) $this->output str_replace('?route=common/home'''$this->output);
            if (
    $this->output) {
                if (
    $this->level) {
                    
    $ouput $this->compress($this->output$this->level);
                } else {
                    
    $ouput $this->output;
                }  
                if (!
    headers_sent()) {
                    foreach (
    $this->headers as $header) {
                        
    header($headertrue);
                    }
                }
                echo 
    $ouput;
            }
        }

Поделиться этой страницей

Просматривают тему (Пользователей: 0, Гостей: 0)