Здравствуйте, друзья! Прошу немного помочь разобраться с такой проблемой (стоит русская сборка 2.0.3.1). Хочу склеить страницы со слешем в конце "/" и без него, пытался это сделать разными способами: 1. (Наверное более приоритетный). Стоит Paladin SEO и которого есть функция "trailing slash" - она прекрасно удаляет все слеши на всех страницах кроме главной, на главной же происходит циклическая переадресация и страница не грузится (я так понимаю, что главная страница всегда со "/" в конце, поэтому такая проблема). Немного погуглив, нашел такое решение: в файле ssb_seo_url.php добавить условие (выделено жирным) Код: if(substr($this->curPageURL,-1) == '/' AND $tools['trailing_slash']['status'] == true AND $this->curPageURL != "http://MOYSAIT.RU/") { $new_url = rtrim($this->curPageURL,"/"); $this->ssb_helper->redirect($new_url, 301); } Добавил - не помогло. Но вот еще немного посидев, нашел, что в файле /vqmod/vqcache/vq2-system_modification_catalog_controller_common_seo_url.php кешируется аналогичная строка и если добавить туда тоже самое, то работает Проблема в том, что хватает этого не на долго, до нового обновления кеша этого файлика. А вот от куда оно его тянет - понять не могу, возможно кто подскажет. Также в Паладине стоит использование разного контроллера для seo-url "Using the own Opencart seo-url controller", то есть догадываюсь что копать нужно в файле /catalog/controller/common/seo_url.php да вот знаний не хватает 2. Возможно кто подскажет решение склеивания таких страниц через .htaccess, все универсальные способы, которые я находил работают во фронтенде, но вот вход в админку ломают. Ну или другие вариант может подскажите. Спасибо за помощь!
Делал так как описано выше, а также пробовал через .htaccess: Код: RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $1 [L,R=301] Такой способ помогает для фронтенда, но ломает вход в админку Opencart http://prntscr.com/8nxi3k На счет страниц немного не понял вопрос, если вы к тому, что бы вручную проставить все редиректы, то это не подойдет, страниц более 15К. Редирект сделать не проблема, но хочется именно склеить все страницы одним махом.
добавлять надо в xml файл. а если добавить исключение для админки?? Типа если admin то правило не работает. По правилам не силен, но думаю можно прописать... Думаю правила работают сверху вниз. Попробуйте тупо для админки сделать редирект с слеша на без слеша, но только сразу после вашего правила..
Спасибо помогло. На будущее, может кому будет полезно: Если у вас после включения trailing slash в Paladin Seo не работает главная нужно в файлик /vqmod/xml/ssb-catalog-generate.xml добавить исключение: Код: AND $this->curPageURL != "http://site.com/" чтобы получилось вот так: if(substr($this->curPageURL,-1) == '/' AND $tools['trailing_slash']['status'] == true AND $this->curPageURL != "http://site.com/") { $new_url = rtrim($this->curPageURL,"/"); $this->ssb_helper->redirect($new_url, 301); }