Откуда 302 редирект?
        Привет!
Ребят, подскажите один момент…
На сайте откуда то появился 302 редирект. В каталоге перехожу на 3 страницу, обновляю страницу, редиректит на первую. В консоли написано 302 Found…
На обычной странице без mfilter, обычный вывод статей с пагинацией: перехожу на третью страницу и получаю редирект.
При этом, когда перехожу на вторую страницу — редиректа нет!!!
Что за беда? Кто знает?
Сначала сайт делал на digitalocean, там nginx… Потом перенес на sweb, там Apache… Но редирект появляется и на nginx'e.
Помогите понять:) На всякий случай ссылку даю…
    
    
                                                                                
            Ребят, подскажите один момент…
На сайте откуда то появился 302 редирект. В каталоге перехожу на 3 страницу, обновляю страницу, редиректит на первую. В консоли написано 302 Found…
На обычной странице без mfilter, обычный вывод статей с пагинацией: перехожу на третью страницу и получаю редирект.
При этом, когда перехожу на вторую страницу — редиректа нет!!!
Что за беда? Кто знает?
Сначала сайт делал на digitalocean, там nginx… Потом перенес на sweb, там Apache… Но редирект появляется и на nginx'e.
Помогите понять:) На всякий случай ссылку даю…
Комментарии: 15
                pdoPage редиректит с несуществующих страниц.
У тебя там что-то накручено с параметрами. Если указать limit — то всё работает.
                    У тебя там что-то накручено с параметрами. Если указать limit — то всё работает.
[[!pdoPage?
	&element=`getTickets`
	&tpl=`custom_tpl.Tickets.list.row`
	&includeTVs=`article_pic`
	&limit=`1`
]]
[[!+page.nav]]
                Не знаю, проверяй свой шаблон, убирай всё подозрительное. Может у тебя там еще где-то есть пагинация и она мешает
Видно же, что моя ссылка работает.
                    Видно же, что моя ссылка работает.
                Да… Извини) Сам виноват… Забыл &pageVarKey указать у второго вызова pdoPage            
                    
                Столкнулчя с такой же проблемой. Не могу решить. limit не помогает. Вот ссылка  на категорию            
                    
                Кстати говоря, в mFilter2 нет параметра (напр. ?page=1) в ссылке на первую страницу, хотя по умолчанию пагинатор-то тоже pdoPage. Вот нужно такое повторить для сниппета pdoPage без связки с mFilter2. Если такое есть в параметрах, или где-то нужно указать в js скрипте – ткни пожалуйста носом.            
                    Вот нужно такое повторить2000 рублей, оплачивать на моём сайте — bezumkin.ru
                Василий, скажи пожалуйста, если сегодня оплачу, когда будет время сделать: 
Нужно убрать ссылку с параметром (site.ru/link?page=1) на первую страницу, чтобы было так: (site.ru/link), на остальные – как обычно. Цель, чтобы не было редиректов 302/301.
                    Нужно убрать ссылку с параметром (site.ru/link?page=1) на первую страницу, чтобы было так: (site.ru/link), на остальные – как обычно. Цель, чтобы не было редиректов 302/301.
                Ты пока разгонялся, уже вышла новая версия, где это сделано.
Смотри changelog версии 2.8.3-pl.
                    Смотри changelog версии 2.8.3-pl.
                дело в том, что обновил, проверяю, ссылка на первую страницу с page=1 также есть, если отключаю ajaxMode, всё хорошо. Завел на modhost сегодня сайтик, чтобы проверить, мало ли, может что-то у меня, и вот: 

Вызов сниппета такой:
Версия pdoTools 2.8.3-pl
Что я делаю не так?
                    
Вызов сниппета такой:
<div id="pdopage">
    <div class="rows">
        [[!pdoPage?
        	&element=`pdoResources`
        	&parents=`0`
        	&ajaxMode=`default`
        	&tpl=`@INLINE <p>[[+idx]]. <a href="[[+link]]">[[+pagetitle]]</a></p>`
        ]]
    </div>
    [[!+page.nav]]
</div>Версия pdoTools 2.8.3-pl
Что я делаю не так?
                Василий, уже достал тебя, знаю, но не выходит у меня) Нашел файл с изменениями (pdopage.js) по умолчанию подключается к вызову pdopage.min.js, указал 

Так выглядит ссылка на первую стр. при переходе на вторую (и последующие) страницы:

Вызов такой:
p.s. При отключенном ajaxMode всё хорошо. На сайте используется подгрузка по кнопке, пагинация скрыта от посетителей, но поисковые роботы всё равно видят в коде ссылку на первую страницу с параметром page=1
                    &frontend_js=`[[+assetsUrl]]js/pdopage.js`
Так выглядит ссылка на первую стр. при переходе на вторую (и последующие) страницы:

Вызов такой:
<div id="pdopage">
    <div class="rows">
        [[!pdoPage?
        	&element=`pdoResources`
        	&parents=`0`
        	&useWeblinkUrl=`1`
        	&ajaxMode=`default`
        	&ajaxHistory=``
        	&frontend_js=`[[+assetsUrl]]js/pdopage.js`
        	&tpl=`@INLINE <p>[[+idx]]. <a href="[[+link]]">[[+pagetitle]]</a></p>`
        	&tplPageWrapper=`@INLINE <ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul>`
        ]]
    </div>
    [[!+page.nav]]
</div>p.s. При отключенном ajaxMode всё хорошо. На сайте используется подгрузка по кнопке, пагинация скрыта от посетителей, но поисковые роботы всё равно видят в коде ссылку на первую страницу с параметром page=1
                Здравствуйте, Василий Наумкин. У меня вопрос возникший с проблемой 302 редиректа у меня все сеошники придераются и просят сделать вместо него 301 пример страница /?page=1 в оригинальной версии компонента производит редирект 302 на каталог родитель. Я решил данную проблему путем правок исходников php данного компонента но при обновлении я понимаю что все мои правки слетят. Подскажите пожалуйста возможно ли сразу внести данные изминения в компонент или придется делать себе где то заметки и при каждом обновлении вручную править? Заранее благодарен за ответ. С Уважением Всеволод.            
                    
                Была такая проблема с 302 редиректом для первой страницы:
                    <section class="row content">
        <section class="col-lg-12 articles">
          <div class="row"></div>
        [[!pdoPage?
            &parents=`3`
            &ajaxMode=`default`
            &tpl=`blog_tpl`
            &includeTVs=`img_blog`
            &limit=`3`
            &includeContent=`1`
            &tplPage=`@INLINE <li><a href="[[+href]]">[[+pageNo]]</a>`
            &tplPageWrapper=`@INLINE <ul>[[+prev]][[+pages]][[+next]]</ul> `
            &tplPageActive=`@INLINE <li class="active"><a href="[[+href]]">[[+pageNo]]</a>`
            &tplPagePrev=`@INLINE <li class="first"><a href="[[+href]]"><i class="icon arrow-menu"></i></a></li>`
            &tplPageNext=`@INLINE <li class="last"><a href="[[+href]]"><i class="icon ico-pag"></i></a></li>`
            &tplPagePrevEmpty=`@INLINE <li class="disabled"><</li>`
            &tplPageNextEmpty=`@INLINE <li class="disabled">></i></li>`
           
        ]]
          <div class="row pagination">
            <div class="col-lg-12">
                [[!+page.nav]]
            </div>
          </div>
        </section>
      </section><section class="row content">
        <section class="col-lg-12 articles">
          <div class="row"></div>
        [[!pdoPage?
            &parents=`3`
            &tpl=`blog_tpl`
            &includeTVs=`img_blog`
            &limit=`3`
            &includeContent=`1`
            &tplPage=`@INLINE <li><a href="[[+href]]">[[+pageNo]]</a>`
            &tplPageWrapper=`@INLINE <ul>[[+prev]][[+pages]][[+next]]</ul> `
            &tplPageActive=`@INLINE <li class="active"><a href="[[+href]]">[[+pageNo]]</a>`
            &tplPagePrev=`@INLINE <li class="first"><a href="[[+href]]"><i class="icon arrow-menu"></i></a></li>`
            &tplPageNext=`@INLINE <li class="last"><a href="[[+href]]"><i class="icon ico-pag"></i></a></li>`
            &tplPagePrevEmpty=`@INLINE <li class="disabled"><</li>`
            &tplPageNextEmpty=`@INLINE <li class="disabled">></i></li>`
           
        ]]
          <div class="row pagination">
            <div class="col-lg-12">
                [[!+page.nav]]
            </div>
          </div>
        </section>
      </section>
                Чтобы поменять 302 редирект на 301, не правя исходники и с сохранением возможности обновления pdoTools, нужно:
1. Создать в системных настройках modx настройку pdoPage.class со значением pdotools.pdopagecustom joxi.ru/Dr8ygaRhoEYjgm
2. Создать в папке core/components/pdotools/model/pdotools файл pdopagecustom.class.php со следующим содержимым:
                    1. Создать в системных настройках modx настройку pdoPage.class со значением pdotools.pdopagecustom joxi.ru/Dr8ygaRhoEYjgm
2. Создать в папке core/components/pdotools/model/pdotools файл pdopagecustom.class.php со следующим содержимым:
<?php
require_once MODX_CORE_PATH . 'components/pdotools/model/pdotools/pdopage.class.php';
class pdoPageCustom extends pdoPage
{
    /** @var modX $modx */
    public $modx;
    /** @var pdoTools $pdoTools */
    public $pdoTools;
    /** @var string $req_var */
    protected $req_var = '';
    /**
     * @param modX $modx
     * @param array $config
     */
    public function __construct(modX & $modx, $config = array())
    {
        $this->modx = &$modx;
        $fqn = $modx->getOption('pdoTools.class', null, 'pdotools.pdotools', true);
        $path = $modx->getOption('pdotools_class_path', null, MODX_CORE_PATH . 'components/pdotools/model/', true);
        if ($pdoClass = $modx->loadClass($fqn, $path, false, true)) {
            $this->pdoTools = new $pdoClass($modx, $config);
        } else {
            return;
        }
        $modx->lexicon->load('pdotools:pdopage');
    }
    
    /**
     * Redirect user to the first page of pagination
     *
     * @param $isAjax
     *
     * @return string
     */
    public function redirectToFirst($isAjax = false)
    {
        unset($_GET[$this->pdoTools->config['pageVarKey']]);
        unset($_GET[$this->modx->getOption('request_param_alias', null, 'q')]);
        if (!$isAjax) {
            $this->modx->sendRedirect(
                $this->modx->makeUrl(
                    $this->modx->resource->id,
                    $this->modx->context->key,
                    $_GET,
                    'full'
                ),
                array('responseCode' => 'HTTP/1.1 301 Moved Permanently')
            );
            return '';
        } else {
            $_GET[$this->pdoTools->config['pageVarKey']] = 1;
            $_REQUEST = $_GET;
            return $this->pdoTools->runSnippet('pdoPage', $this->pdoTools->config);
        }
    }
}
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    
             
             
                    
                    
                