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

  • Автор теми WebBiz
  • Дата створення
Статус
Закрита.
WebBiz

WebBiz

Вождь
Команда форуму
Администратор
Реєстрація
11.03.2014
Повідомлення
1,576
Репутація
213
Вік
34
А какой способ Вам помог, в решении данной проблемы?
 
А мне помог следующий способ:
У файле /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);
 
Тоже сталкивался с подобной проблемой и как у вас ничего не получалось. Нашел такое решение:
У файле "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; } } }

вставила такую строчку, но не могу понять, помогло мне или нет:)
Проверьте, пожалуйста
 
Я работаю с маленьким интернет магазином и впервые решить эту проблему мне удалось тем способом, который я указал у сообщении, которое в начале темы. Но не так давно я перевел магазин на работу по SSL протоколу и эта проблема - снова появилась, но только при клике на логотип. В этот раз помог способ Edi. Спасибо тебе!
 
Ссылку типа: site.ua/index.php?route=common/home, при нажатии на логотип, удалось убрать способом, который написал WebBiz. Но при нажатии на кнопку "главная" - никак не удается убрать вот это: ?route=common/home. Кто знает, как решить эту проблему?[DOUBLEPOST=1411723406,1411722412][/DOUBLEPOST]Удалось решить проблему. У файле:
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($header, true);
                }
            }
            echo $ouput;
        }
    }
 
Статус
Закрита.
Назад
Зверху