Jump to content
STh

Бесконечный редирект главной без слэша в SeoPro на xampp

Recommended Posts

Исходные данные:

Чистая новая установка ocStore 3.0.2.0 на вирт. сервер xampp в локальную папку /shop3/. Включены ЧПУ во вкладке Сервер, во вкладке SeoPro включено "Включить SeoPro" и "ЧПУ товаров с категориями". Все остальные настройки - по-умолчанию. .htaccess активирован, базовый Rewrite - /shop3/ - прописан. Больше ничего не менялось.

 

Суть проблемы:

ЧПУ работают, категории и товары открываются нормально. Только главная страница выдаёт бесконечный редирект (не открывается). Админка работает без проблем. Если в настройках вкладки SeoPro ещё включить "Добавить слэш в конец ссылки", то всё открывается нормально, включая главную. Но везде в конце URL добавляется слэш. Нужно чтобы работало без этого слэша.

 

Вопрос:

Как избавиться от бесконечного редиректа главной, не включая конечный слэш? На этом же xampp'е запускается ещё пару магазинов на ocStore 2.x.x.x и блог на Wordpress (в своих подпапках) - там таких проблем нет: можно включать конечный слэш или отключать, всё работает без проблем.

Share this post


Link to post
Share on other sites

 

либо в конфиге спороли адрес сайта

либо это вам поможет

Share this post


Link to post
Share on other sites

В файле system/library/seopro.php

 

Перед строкой:

if (rawurldecode($url) != rawurldecode($seo)) {

Добавьте:

        if ($this->request->get['route'] == 'common/home') {
            $seo = rtrim($seo, '/') . '/';
        }

 

Share this post


Link to post
Share on other sites
13 минут назад, spectre сказал:

 

Вот и проще решение, за небольшую копеечку.

  • +1 1

Share this post


Link to post
Share on other sites

Удалите этот ужас SEO PRO (PRO только название)... Стандартный SEO URL + какой-то редирект модуль, и генератор ссылок, и будет Вам счастье.

Share this post


Link to post
Share on other sites
31 минуту назад, spectre сказал:

 

либо в конфиге спороли адрес сайта

либо это вам поможет

 - спасибо вам, конечно, за варианты догадок, но всё это я уже проверял. Конфиг создал сам установщик ocStore 3.0.2.0 (ориг. дистр. с Гитхаба по оф. ссылке), при установке сразу в папке /shop3/ . Я сравнивал с конфигами ocStore 2.х.х.х, установленных точно таким же образом - там всё аналогично. Да и если бы в конфигах что-то было неправильно, то вариант со слэшем не работал бы вообще. .htaccess'ы тоже у них абсолютно одинаковые (кроме роутов на карту Гугла и Googlebase).

 

Интересно то, что у ocStore 3.0.2.0, установленного на демке (demo.ocstore.com) я своей проблемы не наблюдаю. Там, как я понял, включены ЧПУ и отключен завершающий слэш - и всё отлично с главной, никаких цикличных редиректов. Никакой SP OcStore 3 SeoPro Fix там не используется и всё ж нормально. https://demo.ocstore.com/desktops/mac/about_us (добавления статьи к категории) - вот этот косяк, да, есть, но к моей проблеме это не имеет отношения.

 

Ещё информация о настройках.

Если отключить ЧПУ на вкладке Сервер (и деактивировать .htaccess) - то всё отлично работает! В независимости от того, включен ли завершающий слэш на вкладке SeoPro или нет. Я могу ошибаться, но мне кажется, что у настроек ЧПУ ОпенКарта (при их включении) возникает какая-то несовместимость с вшитым SeoPro, если сайт установлен НЕ в корень хостинга, а в отдельную папку. Где-то конфликт реврайтов (условий) в php с теми, что применяются в htaccess, который нужно активизировать при включении ЧПУ. Поэтому зачем-то ему и нужно обязательно активировать завершающий слэш. Не могу понять, где что можно попробовать изменить, чтобы найти, из-за чего это происходит. А ЧПУ нужно. Ведь при точно таких же установках ocStore 2.х.х.х - проблем нет (тоже ставил в под-папку). Другое дело, что в ocStore 2.х.х.х и вшитого SeoPro нет...

Share this post


Link to post
Share on other sites
50 минут назад, sashaustenko сказал:

Удалите этот ужас SEO PRO (PRO только название)... Стандартный SEO URL + какой-то редирект модуль, и генератор ссылок, и будет Вам счастье.

- но в демке-то (demo.ocstore.com) всё работает. Прочитайте, пожалуйста, пост выше. В смысле, что в демке и SeoPro стоит, и ЧПУ включены и завершающий слэш отключен - и главная открывается отлично, никаких цикличных редиректов.

Share this post


Link to post
Share on other sites
6 минут назад, STh сказал:

- но в демке-то (demo.ocstore.com) всё работает. Прочитайте, пожалуйста, пост выше. В смысле, что в демке и SeoPro стоит, и ЧПУ включены и завершающий слэш отключен - и главная открывается отлично, никаких цикличных редиректов.

Я же вам написал решение. Не получилось?

Если это не подпапка, то на главной по любому присутствует незримый слеш. Его браузер не покажет, но он есть. Т.к. GET запрос не может быть пустым.

На сервер запрос пойдёт как:

GET /
Host: site.ru

 

Share this post


Link to post
Share on other sites

надо посмотреть с чего на что редирект и все станет ясно 

Share this post


Link to post
Share on other sites
7 часов назад, mpn2005 сказал:

Если это не подпапка, то на главной по любому присутствует незримый слеш. Его браузер не покажет, но он есть.

- про незримый слэш - это верно. А на счёт браузера - то здесь это зависит от его настроек. Я, например, свой Firefox настроил так, чтобы он всегда отображал этот "незримый" слэш. Но большинство современных браузеров, действительно, "из коробки", этот слэш не показывают.

7 часов назад, spectre сказал:

надо посмотреть с чего на что редирект и все станет ясно 

- с главной на главную, грубо говоря. .htaccess со своими ЧПУ-правилами "вырезает" довесок-роут и редиректит на главную, а на главной ocStore добавляет route=common/home... и так по кругу (или наоборот). Что-то типа того. Вполне возможно, если бы сайт не был установлен в подпапку, то этого бы не происходило. В этом случае где-то в коде не учтён этот нюанс (не хватает условия проверки), когда используется настройка "Без завершающих слэшей" и "ЧПУ без дублей" (в SeoPro) - получается конфликт.

Share this post


Link to post
Share on other sites

проверьте что в oc_seo_url есть common/home с пустым keyword

Share this post


Link to post
Share on other sites
9 часов назад, mpn2005 сказал:

В файле system/library/seopro.php

 

Перед строкой:

if (rawurldecode($url) != rawurldecode($seo)) {

Добавьте:

        if ($this->request->get['route'] == 'common/home') {
            $seo = rtrim($seo, '/') . '/';
        }

 

- проверил ваш код - всё везде заработало нормально! Спасибо! Все типовые "SEO-болячки" с URL'ами с этим кодом и включённым SeoPro отрабатывают на отлично (двойные слэши, дубли и т.п. - всё вырезается), и главная норм. открывается, без "мусора". Всё таки, при некоторых "танцах с бубном", когда у клиента не хватает денег на полную доработку сайта под SEO - этот вшитый SeoPro приносит гораздо больше пользы, чем вреда (как тут многие пишут). Однако с вашим кодом проявляется один незначительный нюанс, который немного нехорошо смотрится с точки зрения SEO. На сайте все ссылки на главную становятся без завершающего слэша (в конце доменного имени). Тот самый "незримый" слэш, который всегда обязательно присутствует в конце домена (имени сайта). Что вызывает некоторое несоответствие в коде html ссылок на главную. Например:

<base href="http://shop3.com/" />, но <link href="http://shop3.com" rel="canonical" />

- обычно для роботов ПС одна и та же страница со слэшем и без - это 2 разные страницы (дубли). Поэтому, например, те же каноникалы главной, я прописываю в точности, как в base href - т.е. со слэшем. А тут слэш принудительно обрезается - фиг его знает, правильно ли робот обработает такую ссылку.

 

Кстати, вот ещё про заморочки настроек SeoPro, если интересно:

Спойлер

название пункта "Включить SeoPro" не совсем верное. Он включен всегда, а что из него будет работать - зависит от выбранных настроек. Во всплывающем описании этого пункта сказано более точно - "ЧПУ без дублей". Именно это и делает эта настройка - убирает дубли (двойные слэши и т.п.). Так вот если эту настройку отключить - у меня изначально даже со включенным ЧПУ всё работало отлично. Но любой URL мог дублироваться (те же двойные слэши), что плохо. Поэтому глупо было бы не воспользоваться такой отличной возможностью эти дубли разом удалить одной кнопкой, благо что со встроенным SeoPro ocStore теперь это делать позволяет "из коробки". Ради этого и все эти заморочки (чтобы потом не засорять CMS всякими доп. модулями для этой же цели).

 

Share this post


Link to post
Share on other sites
1 час назад, spectre сказал:

проверьте что в oc_seo_url есть common/home с пустым keyword

- да, спасибо - это было самое первое что я проверил в настройках SEO URL, в том числе и в БД.

Share this post


Link to post
Share on other sites

Решено.

 

В общем, окончательное проверенное решение, на котором я остановился и избавился от всех вышеописанных недостатков, такое:

				} elseif ($data['route'] == 'common/home') {
					$url .= '/';
					unset($data[$key]);
				} 

- добавил после 129 строки оригинального seo_url.php в \catalog\controller\startup\ . Вроде, всё красиво, без костылей. В SeoPro включено всё, кроме добавления конечного слэша. "Погонял" штатную тему, все ЧПУ-URL работают как надо. Кроме, разумеется, служебных страниц (Личный кабинет, Производители...) - на них, по "старому-доброму" обыкновению OpenCart'а "из_коробки", почему-то ЧПУ не распространяются. Это уже отдельная тема для исправления. Если вас не затруднит - можете в ответ скинуть ссылки на проверенные варианты, как это исправить без доп. модулей для ocStore 3.0.2.0 ? На форуме уже где-то предлагались такие решения через Базу Данных.

Всех благодарю за ответы.

 

Прилагаю исправленный файл seo_url.php, чтобы сэкономить время на правки, вдруг кому-то ещё будет полезно:

Спойлер

 

Edited by STh
  • +1 1

Share this post


Link to post
Share on other sites
3 часа назад, STh сказал:

Тот самый "незримый" слэш, который всегда обязательно присутствует в конце домена (имени сайта). Что вызывает некоторое несоответствие в коде html ссылок на главную. Например:

<base href="http://shop3.com/" />, но <link href="http://shop3.com" rel="canonical" />

Да. Точно. Забыл про генерацию самой ссылки.

 

2 часа назад, STh сказал:

Прилагаю исправленный файл seo_url.php, чтобы сэкономить время на правки, вдруг кому-то ещё будет полезно:

По хорошему надо это на git запулить в репозиторий ocStore. Может примут правки и выйдет новая версия сборки уже с правками.

Там угрожали новыми релизами, вроде, но пока что-то тихо.

Share this post


Link to post
Share on other sites
6 часов назад, mpn2005 сказал:

По хорошему надо это на git запулить в репозиторий ocStore. Может примут правки и выйдет новая версия сборки уже с правками.

 - это вряд ли. 10 лет на форумах мусолят тот же извечный "?route=common/home", а они до сих пор не могут эти 3 строчки кода добавить...

Share this post


Link to post
Share on other sites
1 минуту назад, STh сказал:

- это вряд ли. 10 лет на форумах мусолят тот же извечный "?route=common/home", а они до сих пор не могут эти 3 строчки кода добавить...

В ocStore нет этой проблемы с включенным seo_pro и корректными настройками.

Сразу после установки всё как надо. Ели не испортить и включить как положено.

  • +1 1

Share this post


Link to post
Share on other sites
1 час назад, mpn2005 сказал:

В ocStore нет этой проблемы с включенным seo_pro и корректными настройками.

Сразу после установки всё как надо. Ели не испортить и включить как положено.

 - как видите, в некоторых случаях есть. Моя тема тому пример. Ибо если бы в SeoPro было изначально прописано это условие, то у меня бы не возникло циклического редиректа главной. Хотя я делал абсолютно чистую установку (уже 2 года работаю в этой сборке XAMPP). И ЧПУ - это первое, что я начал настраивать. Потом 2 дня перебирал все возможные комбинации настроек и htaccess, чтобы понять, что я мог сделать не так. Оказалось, проблема в 3х строчках кода SeoPro, а у меня всё было настроено правильно. После же добавления этого когда (или вашего) - теперь я могу ставить любые настройки: отключать\включать ЧПУ, дубли, слэши и т.п. И всё норм. открывается, никаких глюков с редиректами и прочим подобным.

Но всё равно, как я уже писал ранее, с точки зрения SEO - разработчики правильно сделали, что включили этот SeoPro в стандартный комплект ocStore. Из 2х зол, как говорится... Лучше побороться с одним глюком (как мой случай), чем постоянно "клеить заплатки" на 10 других глюков ("детских болячек"), если бы SeoPro не было.

 

Да, возможно, на фоне других масштабных доработок и возможностей, что реализовано (или допиливается) в OpenCart - моя проблема ничтожна. Поэтому её до сих пор никто и не запулил в Git. Разработчики заняты более важными вещами. Но SEO в наше время - тоже очень важная составляющая успеха любого интернет-магазина. Поэтому такие проблемы всё же нельзя полностью игнорировать.

Share this post


Link to post
Share on other sites
2 часа назад, STh сказал:

10 лет на форумах мусолят тот же извечный "?route=common/home", а они до сих пор не могут эти 3

Я читать умею. И писал именно про вот это.

При установке чистого ocStore3 и включения seo_pro этой "10-летней" беды нет.

Как и ocStore2.

  • +1 1

Share this post


Link to post
Share on other sites

С этим не спорю и согласен с вами. Возможно, я не совсем понятно выразился - я имел ввиду, что после включения SeoPro, действительно, "эта 10-летняя беда" пропадает, зато вместо неё появляется другая - вот эта вот моя позавчерашняя проблема. Поэтому я и не мог его включить :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By legioner26
      Модуль SEO генератор мета описания(тегов), URL, дубли,  позволяет провести оптимизацию всех категорий и товаров, производителей, статей с поддержкой языков магазина. Очень прост в эксплуатации
      Сохраняет информацию о заполнении проставляя метки, также предусмотреть функционал для перезаписи. 
      Все что от Вас требуется, это задать шаблон для заполнения meta.
       
      Внедрен Мультиязык производящий генерацию метатегов и URL, а также поиск дублей на всех подключенных языках магазина !!!
       
      Также добавлена возможность автоматической массовой генерации отсутствующих SEO URL в товарах, категориях, производителях и статьях на всех языках магазина, с доп функционалом перезаписи имеющихся.
      при нажатии на кнопку Обновить ЧПУ (SEO URL)  модуль проставить URL во всех товарах и категориях, производителях, статьях в которых они отсутствуют.
       
      Возможность устранения дублей SEO URL
       
      ПРИМЕР заполнения прилагается в скриншоте.
       
      УСТАНОВКА
      1. Для ОС 3 --- Установить архив через Установку расширений, очистить кешь.
      2. Для ОС 2 --- Скопировать папку admin в корень сайта.
       
      ПРИМЕЧАНИЕ
      Модуль не закублен с открытым исходным кодом, не требует ключа активации.
      Тех. поддержка осуществляется для клиентов купившим модуль для конкретного ресурса, поэтому при покупке обязательно указываем Ваш домен.
       

       
      СЕО СОПРОВОЖДЕНИЕ <<<
       
      РЕКОМЕНДУЕМЫЕ МОДУЛИ
       
      Генератор АКЦИЙ Special PRO
      Смс авторизация и регистрация 
      Модуль Зумма
      Модуль подарков
      Конструктор форм обратной связи
      ___________________
       
      Также советую приобрести модуль от разработчика @chukcha Редирект Универсал 
      Незаменимый инструмент для редиректов, имеется 410 жизненно важный для удаленных товаров.
       
    • By legioner26
      899.00 руб
      Скачать/Купить дополнение


      SEO Генератор мета тегов (категории, товары, производители, статьи), SEO URL - Мультиязык
      Модуль SEO генератор мета описания(тегов), URL, дубли,  позволяет провести оптимизацию всех категорий и товаров, производителей, статей с поддержкой языков магазина. Очень прост в эксплуатации
      Сохраняет информацию о заполнении проставляя метки, также предусмотреть функционал для перезаписи. 
      Все что от Вас требуется, это задать шаблон для заполнения meta.
       
      Внедрен Мультиязык производящий генерацию метатегов и URL, а также поиск дублей на всех подключенных языках магазина !!!
       
      Также добавлена возможность автоматической массовой генерации отсутствующих SEO URL в товарах, категориях, производителях и статьях на всех языках магазина, с доп функционалом перезаписи имеющихся.
      при нажатии на кнопку Обновить ЧПУ (SEO URL)  модуль проставить URL во всех товарах и категориях, производителях, статьях в которых они отсутствуют.
       
      Возможность устранения дублей SEO URL
       
      ПРИМЕР заполнения прилагается в скриншоте.
       
      УСТАНОВКА
      1. Для ОС 3 --- Установить архив через Установку расширений, очистить кешь.
      2. Для ОС 2 --- Скопировать папку admin в корень сайта.
       
      ПРИМЕЧАНИЕ
      Модуль не закублен с открытым исходным кодом, не требует ключа активации.
      Тех. поддержка осуществляется для клиентов купившим модуль для конкретного ресурса, поэтому при покупке обязательно указываем Ваш домен.
       

       
      СЕО СОПРОВОЖДЕНИЕ <<<
       
      РЕКОМЕНДУЕМЫЕ МОДУЛИ
       
      Генератор АКЦИЙ Special PRO
      Смс авторизация и регистрация 
      Модуль Зумма
      Модуль подарков
      Конструктор форм обратной связи
      ___________________
       
      Также советую приобрести модуль от разработчика @chukcha Редирект Универсал 
      Незаменимый инструмент для редиректов, имеется 410 жизненно важный для удаленных товаров.
       
      Добавил legioner26 Добавлено 31.03.2019 Категория SEO, карта сайта, оптимизация Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет Старая цена 1500  
    • By Sunser
      В версии Opencart 2.3 есть такая проблема как, когда вы добавляете перевод на сайт и при выборе другого языка в адресную строку не добавляется код выбранного языка.
      Что для некоторых сайтов это плохо по многим причинам.
      Данный модификатор исправляет данную причину. Модификатор тестировался  успешно работал на Opencart 2.3.x и на OpencartPro 2.3.x
      Для работы модификатора нужен SeoPro, поскольку модификатор вносит изменения именно в нем.
      Установить модификатор очень легко, устанавливаете его через админку, через установка дополнений или просто скинуть в папу system/ вашего сайта, после чего обновите модификаторы в админке, в пункте модификаторы
      Причина по которым модификатор может не работает после установки, это модификатор не находит указанных путей, прописанных в модификаторе.
    • By Sunser
      Скачать/Купить дополнение


      Sunser seo lang
      В версии Opencart 2.3 есть такая проблема как, когда вы добавляете перевод на сайт и при выборе другого языка в адресную строку не добавляется код выбранного языка.
      Что для некоторых сайтов это плохо по многим причинам.
      Данный модификатор исправляет данную причину. Модификатор тестировался  успешно работал на Opencart 2.3.x и на OpencartPro 2.3.x
      Для работы модификатора нужен SeoPro, поскольку модификатор вносит изменения именно в нем.
      Установить модификатор очень легко, устанавливаете его через админку, через установка дополнений или просто скинуть в папу system/ вашего сайта, после чего обновите модификаторы в админке, в пункте модификаторы
      Причина по которым модификатор может не работает после установки, это модификатор не находит указанных путей, прописанных в модификаторе.
      Добавил Sunser Добавлено 13.07.2019 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика Нет Старая цена 0  
    • By RuslanLight
      Всем Здравствуйте!
      Вчера на моем сайте происходили какие-то чудеса.
      С середины дня сайт начал тормозить, зашел на хостинг и увидел что CPU перегружен до 125% (относительно тарифного плана хостинга).
      Изменений в коде ни в предыдущий ни в этот день не делались.
      При том что трафа, за этот день, в разы меньше чем было в декабря за один час. И в декабре таких глюков не было!
      Сначала начал грешить на сбой в парсинге модуля SimplePars. Выключил модуль. вырубил крон, удалил на хосте саму запись крона, обновил модификаторы, обновил кеш админки.
      Вроде попустило, но на пару минут, а потом продолжились скачки до 100-125%.
      Выключил вообще траф, всю ночь все равно были скачки с нагрузкой на CPU при почти полном отсутствии трафа (кроме ботов поисковиков кончено).
      Утром принудительно закешировал все страницы в JetCache и о чудо, попустило.
      И слайды:
      Всплеск необычной нагрузки на CPU, видно что в сравнении с предыдущим днем этот всплеск необычный - https://prnt.sc/wlyln0
      Всплеск процессов PHP, тоже необычно смотрится в сравнении с пред днем - https://prnt.sc/wlymgk
      Сразу скажу что проблем с хостингом нет, хостинг в декабре держал большую нагрузку в х10-20 раз, с тех пор особо ничего не поменялось, товары хоть и добавились (ок 15-20% от общего кол-ва), но и неактивных ушло столь-же. Но сапорт хостинга не смог дать вразумительный ответ кто грузит так проц, сказали толкьо index.php. Но через него идут по сути все процессы, поэтому что за паразит так "убивал" проц я не мог установить.

      В общем!
      Понимаю, что любую сложную систему надо оптимизировать персонально. В тч куча установленных модулей и темы, не может проходить бесследно.
      Поэтому, ищу специалиста(ов) который сможет оптимизировать/ускорить сайт по максимуму, снять нагрузку с сервера и ускорить сайт в принципе!
      OcStore 3.0.2.0
      тема - UltraStore 2.1.3
      JetCache v 18.1

      PS Сори за простыню! )
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.