We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30247
    • 74 Posts
    Все доброго времени суток.
    Решил я осчастливится ЧПУ, а не тут то было. С долгими танцами с бубном при подключении mod_rewrite справился сам. А вот дальше вилы.
    Префикс не использую (пустая строка)
    Суффикс .html
    При отключенной вложенности и псевдонимах работает только с параметром в .htacccess
    RewriteRule ^(.*)\.html$ index.php?id=$1 [L,QSA]

    то есть в индекс.пхп передается только номер страницы, и естественно все работает.

    А вот конструкции вида:
    http://127.0.0.1/index.php?id=47.html
    (далее, естественно, при включении соответствующих опций)
    http://127.0.0.1/index.php?id=pagename
    http://127.0.0.1/index.php?id=pagename.html
    http://127.0.0.1/index.php?id=parentdoc/pagename.html

    приводят к 404...


    P.S. Дабы не захламлять форум лишними постами скажу тут: Спасибо огромное Fuzzy за помощь с SQL и глобальными переменными  smiley [ed. note: Tohin last edited this post 15 years ago.]
      • 22301
      • 1,084 Posts
      RewriteRule ^(.*)\.html$ index.php?id=$1 [L,QSA]

      это зачем такой изврат? оставь так:

      RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]



      всё уже придумано до тебя, не морочься. просто укажи в админ панели, какой у тебя суффикс и забудь.


      (далее, естественно, при включении соответствующих опций)

      каких опций именно? хотя, это уже не имеет значения. "конструкции вида" генерит машинка? я что-то не заметил похожих ссылок на сайте.
        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

        Безжалостный пияр!
        Artima -- неуч!
        Осторожно: преступная локализация -- modx-cms.ru
        Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

        Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
        • 30247
        • 74 Posts
        это зачем такой изврат? оставь так:
        В том то и дело, что без изврата не работает...

        всё уже придумано до тебя, не морочься. просто укажи в админ панели, какой у тебя суффикс и забудь.

        Я конечно идиот, но не настолько... Естественно в настройках стоит суффикс .html иначе ссылки генерится не будут.

        каких опций именно? хотя, это уже не имеет значения. "конструкции вида" генерит машинка? я что-то не заметил похожих ссылок на сайте.

        Пройдем по порядку

        Включено ЧПУ, проставлены суффиксы, получаем ссылки вида:
        http://127.0.0.1/index.php?id=47.html работают только при изврате в RewriteRule

        Добавляем использование псевдонимов (псевдоним вымешленный)
        После обработки mod_rewrite с извращением получам ссылку вида:
        http://127.0.0.1/index.php?id=pagename
        Без извращения:
        http://127.0.0.1/index.php?id=pagename.html

        Включаем использование вложенных урлов:
        http://127.0.0.1/index.php?id=parentdoc/pagename.html


        mod_rewrite работает правильно, однако модикс почему то не хочет разбирать урлы на составляющие (вложенность, псевдоним, суффикс)
        И не хочет определять страницы по псевдонимам... [ed. note: Tohin last edited this post 15 years ago.]
          • 785
          • 2,113 Posts
          Quote from: Tohin at Mar 23, 2009, 03:00 AM

          работают только при изврате в RewriteRule
          В MODx при включенном ЧПУ надо передавать параметр q, а не id. В приведенном правиле передается id, который не обрабатывается должным образом. Если же при передаче q что-то не получается, надо смотреть настройки ЧПУ.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 22301
            • 1,084 Posts
            позволю себе нудность и укажу в третий раз (после себя и AKots), заострив внимание на ключевых моментах:

            RewriteRule ^(.*)\.html$ index.php?id=$1 [L,QSA]
            -->
            RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]
            -->
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
              [img]http://jurist-info.ru/pic/rrr.jpg[/img]

              Безжалостный пияр!
              Artima -- неуч!
              Осторожно: преступная локализация -- modx-cms.ru
              Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

              Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
              • 30247
              • 74 Posts
              Ага, спасибо, тупанул конечно конкретно.
              Ошибся в q vs id , сам себя перехитрил.

              Признаюсь подозревал себя в маразме, но в первом ответе даже не усмотрел разницы кроме того, что я отрезал .html реврайтом....
              Так что opengate был прав с самго начала (респект), но не акцентировал внимание на передаваемой переменной.
              AKots правильно акцентировал внимание, огромный респект.
                • 897
                • 1,620 Posts
                Akots, ваще в последнее времярадует. четкий такой знаток модх. надо ему хрустальную сову smiley
                  "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

                  Не используйте Revo для "просто сайтов". Используйте Evo

                  Who can defeat the Russian bear?
                  • 37821
                  • 4 Posts
                  Блин, а у меня не хотит Modx псевдоним показывать.
                  только номера id пишет... в браузерной строке (типа: ---.ru/4).
                  А если псевдоним там вручную набить (например: ---.ru/use), при переходе по ссылке Modx просто возвращает на главную.
                  Отключение/включение суфикса - не влияет.

                  Как сделать красивые ссылки?
                  в .htacccess вроде верно всё.