We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33395
    • 13 Posts
    Случайно обнаружил глюк:

    стоит 0.9.6.3
    если документ имеет псевдоним то станичка по ID не отрывается

    www.site.com/news1 - открывает
    www.site.com/news.html - открывает

    www.site.com/152 - 404 ошибка
    www.site.com/152.html - 404 ошибка

    если документ не имеет псевдонима то
    www.site.com/136 - открывает
    www.site.com/136.html - открывает

    до недавнего времени стояла 0.9.6.2 и насколько я помню таких глюков не наблюдалось.

    .htaccess
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
    RewriteRule .* - [F,L]
    
    # DirectResize  Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^images/([a-z0-9]{32})/.*\.(png|gif|jpe{0,1}g)$ assets/plugins/directresize/furl.php?q=$1 [NC,L,QSA]
    
    # The Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]


    я в полном замешательстве. как такое может быть и чем лечить?
      • 1611
      • 591 Posts
      У меня работает как у вас (0963).
      Только я не понял, вам необходимо, чтобы страницы открывались одновременно и по алиасу и по ID? А зачем?
      Насколько я понимаю, это не очень хорошо с точки зрения SEO.

      .htaccess тут вряд ли чем поможет, я так понимаю, что изменились правила поведения при разборе параметра q, который передается в index.php.

      Посмотрите модуль SEO Strict URL, он позволяет управлять тем, какой будет URL у той или иной страницы вручную или автоматически.
      Правда при суффиксе ’/’ немного глючит при обработке контейнеров (появляется двойной слеш на конце)
        • 33395
        • 13 Posts
        Quote from: andrnag at Mar 05, 2009, 11:07 PM

        Только я не понял, вам необходимо, чтобы страницы открывались одновременно и по алиасу и по ID? А зачем?
        Насколько я понимаю, это не очень хорошо с точки зрения SEO.

        .htaccess тут вряд ли чем поможет, я так понимаю, что изменились правила поведения при разборе параметра q, который передается в index.php.

        Посмотрите модуль SEO Strict URL, он позволяет управлять тем, какой будет URL у той или иной страницы вручную или автоматически.
        Правда при суффиксе ’/’ немного глючит при обработке контейнеров (появляется двойной слеш на конце)

        Да, необходимо чтобы странички открывались как по псевдониму так и по ИД. При наполнении сайта множество страничек не имели псевдонима и поисковики проиндексировали их по ИД, а когда манагеры внесли псевдонимы, посыпались "жалобы" на то что теперь через поисковые сайты нельзя зайти - ссылка то на ИД показывает, а при наличи псевдонима ИД не работает.

        я установил SEO Strict URL и чесно говоря не заметил каких либо изменений - как не работало так и не работает. возможно что-то упустил, так как нервничаю - руки трясутся smiley
          • 1611
          • 591 Posts
          SEO Strict не решит проблему доступа по ID, но сделает, так что все URL будут однообразны.
          + он делает ссылки на стартовую страницу (ID=1 или что там у вас) в виде http://site.ru/
          + можно выбирать для любой страницы вид урл: как папка или как страница с суффиксом.

          Вам можно посоветовать прописать строчки вида
          RewriteRule ^old\.uri$ new.uri [R=301]
          в .htaccess для всех старых страниц и ждать переиндексации.
          Это, конечно, не лучший вариант, если страниц очень много, но пока не могу придумать ничего лучше.
            • 1611
            • 591 Posts
            Кстати. Эту процедуру может упростить плагин того же автора VirtualAliases.

            Ну или можно сделать core hack который вернет поведение modx0962
              • 33395
              • 13 Posts
              Quote from: andrnag at Mar 06, 2009, 02:38 AM

              Кстати. Эту процедуру может упростить плагин того же автора VirtualAliases.

              Ну или можно сделать core hack который вернет поведение modx0962

              попробовал VirtualAliases - таже ситуация

              а как сделать core hack?
                • 1611
                • 591 Posts
                Ну в VirtualAliases нужно будет для каждой страницы прописать алиас с ID, автоматически он ничего не сделает, как я понял.

                core hack... ну нужно лезть в исходники modx’са, искать место, где разбирается переменная q которая приходит в index.php и сравнивать как это сделано в 0962 и 0963, дальше перенести из 0962 в 0963 нужную функциональность.
                Но это способ такой... некошерный.
                  • 33395
                  • 13 Posts
                  а так чтобы ничего не прописывать в плагины, TV? ибо я поседею пока все пропишу...

                  хотелось бы одной строкой в .htaccess раз - и все заработало по старому...
                    • 1611
                    • 591 Posts
                    думаю что так не получится, т.к. ID можно получить только из базы, т.е. конвертировать ID -> alias можно только из PHP.
                    Т.е. нужно лезть в код.

                    А почему вы не хотите откатиться на 0962 раз такая пьянка? Из-за возможных дыр в безопасности?
                      • 33395
                      • 13 Posts
                      да smiley
                      возвращаться назад как-то некошерно smiley