We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 34414
    • 6 Posts
    Добрый день. Мне нужно запретить доступ к страницам по идентификатору, т.е. если пользователь введет www.sitename.ru/123 выводилась 404 ошибка. Можно ли это реализовать в настройках системы, или это надо реализовать самостоятельно?
      • 35737
      • 30 Posts
      Не сталкивался с таким, но просто интересно, а для чего это может требоваться? Если для защиты определенных страниц от несанкционированного доступа, так это можно прописать в правах доступа...
        • 34414
        • 6 Posts
        Нужно чтобы для для доступа к старнице был только 1 единственный url. Там видимо что то с seo связано
          • 18573
          • 30 Posts
          о чем-то странном вы говорите ТС.
          если вы настроили плагин transAlias, то у вас автоматом формируются псевдонимы страниц, если не настроили, то автоматом подставялется ид документа + суффикс (по дефолту .html)

          настройте плагин и к странице можно будет достучаться по алиасу и по index.php?id=...
            • 9648 ☆ A M B ☆
            • 91 Posts
            Quote from: barma at Aug 01, 2011, 03:50 AM

            Нужно чтобы для для доступа к старнице был только 1 единственный url. Там видимо что то с seo связано
            Гораздо логичней редиректить пользователя на страницу по ее УРЛ. Для этого пишется плагин с привязкой к событию onWebPageInit.
            Вот примерный код нашего плагина:
            // Проверяем на случай обращения к id документа
            if(preg_match('/^\/(([0-9]+)|\?id=([0-9]+))(\/?|\.(htm|html|php|txt|xml))$/',$_SERVER['REQUEST_URI'], $match)){
              //print_r($match);
              $id = ($match[2] ? $match[2] : $match[3]);
              
              $url = $modx->makeUrl($id);
              
              // Перепроверяем созданный урл, чтобы не было зацикленности
              if($url != $_SERVER['REQUEST_URI'])   $redir_url = $url;
             }


            То есть здесь идет обработка различных вариантов обращения по ID и переправерка на случай если у документа тупо не указан алиас.
            Далее берите и редиректе на этот адрес с 301-ым кодом.
            header("HTTP/1.1 301 Moved Permanently");
            header("Location: {$addr}");
            exit();

              MODX Revolution expert
              Follow ME on Twitter | Feel free ask any question on MODX-club
              • 35737
              • 30 Posts
              Quote from: barma at Aug 01, 2011, 03:50 AM

              Нужно чтобы для для доступа к старнице был только 1 единственный url. Там видимо что то с seo связано
              Сео это никак не повредит. Если у тебя активы ЧПУ и яндекс твой сайт увидел, когда эти ЧПУ были активны - он ни в жизнь не догадается, что к тебе можно как-то иначе постучаться. Если только какой-то добрый на тебя ссылку с id не поставит, но для этого этот добрый должен знать id и плюс ко всем этим id дело и ограничится.