[Помогите] Добавление .html в ссылку категории

Тема в разделе "OpenCart", создана пользователем maxalser, 4 июн 2014.

  1. maxalser

    maxalser

    Регистрация:
    22 май 2014
    Сообщения:
    4
    Симпатии:
    0
    Облазил весь форум, пользовался поиском, но конкретного решения не нашел.
    Сейчас ссылка имеет такой вид http://сайт/dlya_sporta/ganteli/
    А надо чтобы в ссылку категории добавлялся .html, т.е. http://сайт/dlya_sporta/ganteli.html или http://сайт/dlya_sporta.html

    Сейчас добавляется только к товарам.

    Нашел такой вариант:

    В файле catalog/controller/common/seo_url.php

    после строки $parts = explode('/', $this->request->get['_route_']);
    добавь list($last_part)= explode('.', array_pop($parts));
    array_push($parts, $last_part);

    после строки if($url){
    добавь $url .='.html';

    но тогда .html добавляется абсолютно везде. Даже при ссылке на главную страницу получается ссылка domen.ru/.html
    Скажите, есть ли другой способ? Ссылки данного вида нужны так как переезжаю с VirtueMart.
    версия OpenCart 1.5.6.4 стоит ЧПУ SEO PACK PRO (там включен .html)
     
  2. Zulus

    Zulus Команда форума

    Регистрация:
    20 дек 2012
    Сообщения:
    681
    Симпатии:
    686
    Сделай 301 редирект с категория.хтмл на категория/. Зачем костыли придумывать?
     
  3. maxalser

    maxalser

    Регистрация:
    22 май 2014
    Сообщения:
    4
    Симпатии:
    0
    старая ссылка с .html уже в топе. не хочу потерять позиции.
    попробовал так, работает:

    в файле catalog/controller/common/seo_url.php
    создал массив, если ссылка не из массива, добавить .html

    $bad_url = array('/login', '/register', '/', '/contact', '/sitemap', '/login', '/account', '/wishlist', '/special', '/affiliates', '/manufacturer');

    if ($url)
    {
    if (!in_array($url, $bad_url))
    {
    $url .= '.html';
    }

    Скажите, Насколько это правильно? не будет ли данный способ загружать сайт?
     
  4. Zulus

    Zulus Команда форума

    Регистрация:
    20 дек 2012
    Сообщения:
    681
    Симпатии:
    686
    По коду не подскажу, а при правильном редиректе позиции не потеряешь.
     
  5. maxalser

    maxalser

    Регистрация:
    22 май 2014
    Сообщения:
    4
    Симпатии:
    0
    Можете подсказать как правильно его настроить?
     
  6. Zulus

    Zulus Команда форума

    Регистрация:
    20 дек 2012
    Сообщения:
    681
    Симпатии:
    686
    Я сделал так, в файле .htaccess добавил 301 редирект:
    после строки "RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]"
    добавил
    Redirect 301 /catalog143_1.html /catalog143_1
    Redirect 301 /catalog144_1.html /catalog144_1
    Redirect 301 /catalog145_1.html /catalog145_1
    ...................................................................
    где, к примеру, catalog143_1.html старая ссылка на категорию, а catalog143_1 новый адрес той же категории. И так для каждой категории. С товаром проблем не было, там получилось сделать ссылки такие же, как и были изначально.
    Проверял в яндексе, в поиске при переходе по старому адресу на сайте шло перенаправление на новый, а потом яндекс склеил адреса и в выдаче, через определенное время, уже были страницы с новым адресом.
     
    maxalser нравится это.
  7. maxalser

    maxalser

    Регистрация:
    22 май 2014
    Сообщения:
    4
    Симпатии:
    0
    Большое спасибо! =)