Совет совершенно не правильный, так как после использования link перестают работать get параметры и модули использующие передачу параметров например на главной (есть и такие) получат ссылки вида
ничего=) получается в нужном месте будет public function output() { if (!defined('HTTP_CATALOG')) $this->output = str_replace('index.php?route=common/home', '', $this->output); if ($this->output) { if ($this->level) { $ouput = $this->compress($this->output, $this->level); } else { $ouput = $this->output; }
Приветствую! если на сайт пришли по урлу с www.site.ru , то при клике на "Главная" или на "лого" то бросает на главную БЕЗ "WWW", просто site.ru, Было бы отлично чтоб и это лечилось!
я думаю, это уже зеркалами лечится, а не настройкой опенкарта. в .htaccess пропишите Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] и сайт будет только с www.
Скажите пожалуйста, если вставить этот код, то будет ЧПУ на всех страницах? я вроде сделал как у вас написано, создал новый вид товара, но вид ссылки остался прежним
нет. то, что описано в этом посте, уберет лишь одну конкретную ссылку - дубль главной страницы. как настроить ЧПУ, написано тут - http://seo-cheats.blogspot.com/2012/09/opencart.html
Мне помогло немного другое... в этом же "url.php" (system/library/url.php): после строчки: if ($args) { $url .= str_replace('&', '&', '&' . ltrim($args, '&')); }
Всем добрый день! Ребят у меня ни один из методов не работают...если ввести адрес сайта с /index.php?route=common/home то все равно сайт открывается(( У меня версия 1.5.4.1. Я не исключаю что делаю что то нетак, хотя с тем что написано в комментах сверила 20 раз.
в .htacess есть строка RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] ? файл имеет именно вид .htacess ? ЧПУ включено? ссылка на логотип тоже имеет вид /index.php?route=common/home ?
А вот у меня просто перестали работать варианты. Сначала все было гуд. С сайтом работы не проводились. С чем может быть связано? Подскажите, пожалуйста:)
почему-то не работает, пробовал по всякому вставлять...
ОтветитьУдалитьу меня там вот так изначально:
public function setOutput($output) {
$this->output = $output;
}
Совет совершенно не правильный, так как после использования link перестают работать get параметры и модули использующие передачу параметров например на главной (есть и такие) получат ссылки вида
Удалитьhttp://site/&page=1
Что приведет к ошибке так как надо через "?"
А блин, не на ту часть кода смотрел... теперь заработало.
ОтветитьУдалитьПофлудил тут немного :)
ничего=)
ОтветитьУдалитьполучается в нужном месте будет
public function output() {
if (!defined('HTTP_CATALOG')) $this->output = str_replace('index.php?route=common/home', '', $this->output);
if ($this->output) {
if ($this->level) {
$ouput = $this->compress($this->output, $this->level);
} else {
$ouput = $this->output;
}
Приветствую!
ОтветитьУдалитьесли на сайт пришли по урлу с www.site.ru , то при клике на "Главная" или на "лого" то бросает на главную БЕЗ "WWW", просто site.ru,
Было бы отлично чтоб и это лечилось!
я думаю, это уже зеркалами лечится, а не настройкой опенкарта.
Удалитьв .htaccess пропишите
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
и сайт будет только с www.
Скажите пожалуйста, если вставить этот код, то будет ЧПУ на всех страницах? я вроде сделал как у вас написано, создал новый вид товара, но вид ссылки остался прежним
ОтветитьУдалитьнет. то, что описано в этом посте, уберет лишь одну конкретную ссылку - дубль главной страницы. как настроить ЧПУ, написано тут - http://seo-cheats.blogspot.com/2012/09/opencart.html
УдалитьПравильное решение
ОтветитьУдалить/system/library/url.php
Находим $url .= 'index.php?route=' . $route;
и после него вот этот код вставляем:
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):
ОтветитьУдалитьпосле строчки:
if ($args) { $url .= str_replace('&', '&', '&' . ltrim($args, '&')); }
вставляем:
else { if($route == 'common/home') { if($connection == 'NONSSL') { return HTTP_SERVER; } else { return HTTPS_SERVER; } } }
Отлично, мне тоже этот метод помог!
УдалитьМне тоже помог. Спасибо!
УдалитьБлагодарю. Помогло.
УдалитьЧего только не пробовал
и htacess и response и многое другое
огромнейшая благодарность!!!:)
УдалитьОтлично) супеееер
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьНа osstore 1.5.5.1.1 заработал метод Maxa
ОтветитьУдалитьПравильное решение
/system/library/url.php
Находим $url .= 'index.php?route=' . $route;
и после него вот этот код вставляем:
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);
Это единственное правильное решение для 1.5.5.2 для тех кто работает с модулем упрощенного заказа SImple. Остальные способы не работают.
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьВсем добрый день!
ОтветитьУдалитьРебят у меня ни один из методов не работают...если ввести адрес сайта с /index.php?route=common/home то все равно сайт открывается(( У меня версия 1.5.4.1. Я не исключаю что делаю что то нетак, хотя с тем что написано в комментах сверила 20 раз.
в .htacess есть строка
УдалитьRewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
?
файл имеет именно вид .htacess ?
ЧПУ включено?
ссылка на логотип тоже имеет вид /index.php?route=common/home ?
А вот у меня просто перестали работать варианты. Сначала все было гуд. С сайтом работы не проводились. С чем может быть связано? Подскажите, пожалуйста:)
ОтветитьУдалитьварианты чего?
УдалитьВарианты того, как убрать ссылку вида: /index.php?route=common/home. Стоит OpenCart 1.5.6
Удалитьадрес сайта. можно в личку. почта в профиле
УдалитьОтправила.
Удалитьsystem\library\response.php
ОтветитьУдалитьв функцию public function output() { с самого начала дописываем:
if (!defined('HTTP_CATALOG')) $this->output = str_replace('index.php?route=common/home', '', $this->output);
Будет выглядеть вот так.
public function output() {
if (!defined(‘HTTP_CATALOG’)) $this->output = str_replace(‘index.php?route=common/home’, », $this->output);
if ($this->output) {
if ($this->level) {
$output = $this->compress($this->output, $this->level);
} else {
$output = $this->output;
}
if (!headers_sent()) {
foreach ($this->headers as $header) {
header($header, true);
}
}
echo $output;
}