MODX Revo - Ввод названия сайта и настройка ЧПУ

Александр Мальцев
Александр Мальцев
39K
59
Содержание:
  1. Ввод названия сайта
  2. Настройка ЧПУ для сайта
  3. Комментарии

Второй урок по созданию блога на MODX Revolution. На этом уроке мы введём название для сайта и научимся настраивать ЧПУ в CMS MODX Revolution.

Ввод названия сайта

Ввод названия сайта производится в окне "Настройка системы". Чтобы в неё зайти необходимо нажать на значок "Шестерёнки" и выбрать в открывшемся меню пункт "Настройка системы".

Настройки системы MODX Revolution

Так как MODX содержит большое количество настроек, то рекомендую пользоваться фильтрами для отбора нужных параметров (например, параметр "Название сайта" находится в разделе "Сайт"). После выбора фильтра "Сайт" переходим к изменению параметра "Название сайта", для этого необходимо в соответствующем поле ввести нужное название (например: "Мой блог").

Параметр MODX Revolution для изменения названия сайта

Примечание: Сохранять или подтверждать изменения параметров системы в MODX Revolution не требуется.

Настройка ЧПУ для сайта

Но перед тем как переходить к настройке ЧПУ, давайте разберёмся что означает этот термин.

Понятие ЧПУ

ЧПУ – это понятный для человека веб-адрес страницы сайта, т.е. тот который Вы видите в адресной строке браузера.

Например, адрес веб-страницы на MODX без ЧПУ выглядит следующим образом:
http://mysite.ru/index.php?id=2

Этот адрес содержит страницу (ресурс), которая имеет идентификатор 2 во внутренней структуре CMS MODX Revolution. Такая запись не является понятным пользователю, да и поисковым машинам Google и Yandex она не очень понятна, что в итоге может привести к более низким позициям при выдаче сайта в этих системах.

Совсем другое дело, когда адрес веб-страницы выводится с помощью ЧПУ, такой адрес отражает понятную для человека иерархию данных на сервере, например:
http://mysite.ru/articles/bootstrap-3/labels-and-icons
Данный адрес отображает страницу "labels-and-icons", которая находится в контейнере "bootstrap-3", а он, в свою очередь, содержится в контейнере "articles".

Настройка файла .htaccess для ЧПУ

Настройка веб-сервера для работы с ЧПУ осуществляется посредством конфигурационного файла .htaccess:

  1. Переименовываем файл ht.access в .htaccess.
  2. Открываем файл .htaccess, находящийся в корневой директории MODX (например, в "z:\home\mysite.ru\www") с помощью текстового редактора.
  3. Проверяем, чтобы 3 следующие строчки, идущие после комментария (The Friendly URLs part), были разкомментированы:
    # The Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    Эти строчки обеспечивают интерпретацию адресов index.php?q=idРесурса в ЧПУ на сервере.
    Для работы вышеприведённых преобразований в файле .htaccess должна быть включена (до вышеприведённых строчек) директива RewriteEngine.
    RewriteEngine on
  4. Кроме этого сразу же можно настроить ещё одно преобразование, которое будет выполнять редирект с www.домен на домен или обратно (с домен на www.домен). Это осуществляется в зависимости от того, какое имя имеет ваш сайт, а именно с www или без www.
    Содержимое файла .htaccess
  5. Изменяем строчку example-domain-please-change на имя домена, в нашем случае на mysite. А строку com на ru. Так же не забываем убрать знак #, чтобы раскомментировать данные строки. После выполнения вышеперечисленных действий эти строки должны выглядеть следующим образом:
    Настройка ЧПУ в файле .htaccess
  6. Сохраняем изменения в файле.

Настройка параметров системы MODX Revolution для ЧПУ

Для настройки ЧПУ в CMS MODX Revolution необходимо перейти в раздел "Настройка системы" и в поле "Фильтр по разделу..." выбрать из списка пункт "Дружественные URL".

Установка фильтра Дружественные URL на странице Параметры системы

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

  1. Использовать дружественные URL -> Да.
    Параметр MODX - Использовать дружественные URL
  2. Проверять на дублирование URI во всех контекстах -> Да.
    Параметр MODX - Проверять на дублирование URI во всех контекстах
  3. Использовать вложенные URL -> Да. Данный параметр рекомендую использовать, т.к. в этом случае в URL адрес будут включаться названия всех контейнеров на пути к выводимому ресурсу, что будет более наглядно и для веб-разработчика и для посетителей сайта. Также при использовании данного параметра необходимо применять либо полные пути к файлам (изображения, css, javascript и т.д.), либо использовать тег <base /> (<base href="[[++site_url]]" />) в заголовке веб-страницы.
    Параметр MODX - Использовать вложенные URL
  4. Строгий режим дружественных URL -> Да. Данный параметр тоже рекомендую использовать, т.к. это исключит дублирование контейнеров (например: mysite.ru/article/ и mysite.ru/article).
    Параметр MODX - Строгий режим дружественных URL
  5. Автоматически генерировать псевдонимы ->Да. Данному параметру необходимо установить значение «Да», если вы не хотите вручную вводить alias для ресурсов, которые вы будете создавать.
    Примечание: Для автоматической транслитерации псевдонимов необходимо установить пакет "yTranslit" или "translit".
    Параметр MODX - Автоматически генерировать псевдонимы
  6. Транслитерация псевдонимов -> russian. Данный параметр установите в russian, если на сайте Вы хотите использовать транслитерацию для псевдонимов ресурсов (например: mysite.ru/статьи/ -> mysite/articles).
    Параметр MODX - Транслитерация псевдонимов

В итоге для настройки ЧПУ в CMS MODX Revolution мы выполнили следующие действия:

Настройка параметров MODX Revolution для ЧПУ

Комментарии:

  1. Дмитрий
    07.06.2019, 22:18
    Здравствуйте, подскажите пож-та как вы реализовали у себя на сайте редирект со страницы со слешем на без слеша?
    1. Александр Мальцев
      10.06.2019, 18:01
      Здравствуйте!
      Наиболее простой способ — это добавить на страницу атрибут rel=canonical. В итоге дубли будут ссылаться на одну и туже страницу. Т.к. кроме слеша могут быть, например, ещё и URL параметры. В этом случае нужно либо всё это предусматривать, либо использовать rel=canonical.
      <link rel="canonical" href="https://itchief.ru/{$_modx->resource.uri}">
      
      Если всё же хочется настроить редиректы, то более гибко это можно реализовать посредством плагина (событие OnLoadWebDocument).
      <?php
      if ($modx->event->name == 'OnLoadWebDocument') {
        $uri = $_SERVER['REQUEST_URI'];  
        // тут прописываем необходимые условия и редирект, который будет выполняться, если результат условий будет равен истине
      }
      
    2. Анатолий
      24.12.2018, 09:53
      Здравствуйте, подскажите пожалуйста modx revo генерирует такие ссылки
      http://сайт/страница////////
      http://сайт/СТРАНИЦА/
      как решить эту задачу? Заранее благодарен.
      1. Александр Мальцев
        24.12.2018, 14:31
        Здравствуйте. Не знаю, не сталкивался с таким. Нужно смотреть настройки. Также необходимо проверить настройки конфигурационного файла сервера.
      2. Игорь
        28.09.2018, 15:31
        Добрый день!
        Спасибо огромное за статьи.
        Возник такой вопрос.
        Меняю псевдоним страницы, а как сделать чтобы автоматом ссылки на нее на всех страницах изменились и не было 404?
        1. Александр Мальцев
          29.09.2018, 14:27
          Добрый! Для этого случая можно воспользоваться дополнением Redirector. После его установки, настроить редиректы можно на странице «Управление редиректами» (в админке «Приложения» -> «Redirector». Для этого необходимо нажать на кнопку «Создать новый редирект» -> в диалоговом окне указать шаблон, контекст и цель -> кнопку «Сохранить». Но это ручной способ.
          Кроме этого способа, дополнение Redirector также автоматически создавать редиректы при изменении URI ресурса. Включение и отключение этого режима осуществляется через системные настройки.
        2. Whiseman
          10.04.2018, 16:57
          Здравствуйте! Подскажите, пожалуйста, в поисковике отображается не название сайта, а «MODX Revolution». Где можно изменить заголовок?
          1. Александр Мальцев
            12.04.2018, 17:33
            Здравствуйте!
            Обычно поисковики в качестве название страницы используют содержимое элемента title. Проверьте, как он у вас формируется.
            В большинстве случаев это делается так:
            <title>[[*pagetitle]] | [[++site_name]]</title>
            
          2. Анна
            28.03.2018, 16:25
            Здравствуйте, шеф! Спасибо за уроки, пожалуй, одни из лучших на просторах инета, по MODX… Возникла проблема при вынесении ядра за пределы корневой директории (выше на уровень папки «publik_html»)… Главная страница отображается, но все внутренние страницы вылезают с указанием папки «publik_html» и не работают ( «RewriteBase /»)… В чем может быть проблема? Буду очень признательна!
            1. Анна
              28.03.2018, 16:38
              Проблему удалось решить указанием $modx_base_url= '/' в файле core/config/config.inc.php (при установке приписывался путь "/publik_html/"), а также указанием физического пути к Немного не в тему, так думала, что проблема в .htaccess, но, возможно, кому-то пригодится…
              link_tag_scheme — abs
              base href=[[++site_url]]
              1. Анна
                28.03.2018, 16:41
                … почему-то выпала фраза… указанием физического пути к корневой директории сайта…
            2. Дмитрий
              10.06.2017, 14:49
              Добрый день!
              Перенесли сайт на https и слетели ЧПУ адреса. В админке всё включено, в .htaccess прописаны соответствующие инструкции. Однако сайт открывается с адресами вида site/index.php?q=catalogues/kuhni/malogabaritnyie-kuxni. В системных настройках если ставить «строгий режим дружественных url», то пишет сразу «слишком много редиректов», и ошибка показывается на странице то с ЧПУ адресом, то с index.php в адресе. Перепробовали уже все инструкции из интернета, ничего не помогло.
              1. Александр Мальцев
                10.06.2017, 17:01
                Попробуйте в .htaccess закомментировать все инструкции, кроме этих:
                RewriteEngine On
                RewriteBase /
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
                
                Проверьте, если всё будет хорошо, то значит проблема в некорректных записях в .htaccess.
              2. Сергей
                18.05.2017, 20:17
                Здравствуйте.
                Вопрос такого рода. Должна ли главная страница сайта всегда иметь псевдоним index? Можно ли главную страницу сайта сделать контейнером для новостей присвоить псевдоним news и публиковать там новости? Спасибо.
                1. Александр Мальцев
                  20.05.2017, 01:11
                  Добрый день! В MODX Revolution главная страница та, которая определена в настройках системы или контекста посредством параметра site_start. Т.е. если в качестве значения укажите, например, число 5, то главной страницей будет ресурс с id=5.
                  Главная страница всегда доступна так (ей не нужны псевдонимы):
                  http://mysite.ru/
                  
                  Если вы спрашиваете про файл index.php. То это файл, через который работают все страницы в MODX. В MODX страницы не хранятся в виде фалов, они находится в базе и для того чтобы получить ту или иную страницу вам необходимо передать разные параметры в запрос. Другими словами все страницы в MODX — это index.php, но только с разными параметрами в запросе.
                  1. Сергей
                    20.05.2017, 09:05
                    У меня есть главная страница сайта, страница новостей news и страница статьи articles. И на главной я должен выводить анонсы и из news и из articles вместе. Получается дублирование контента, новости есть на главной и доступны в разделе news. Если статьи мне дублировать не критично их всего 10%, то новостей получается много. Хотелось бы раздел новости ликвидировать и размещать их в главной странице в дереве ресурсов, а выборку уже делать через pdoTools с нескольких разделов и показывать на главной. Или оставить все как есть и как то избежать дублирования.
                    1. Александр Мальцев
                      20.05.2017, 14:59
                      Тут можно много вариантов придумать. Вот несколько из них:
                      1. Можно оставить всё как есть, и добавить редирект с new на главную.
                      2. Можно сделать главную страницу контейнером и перенести все новости в неё. Ресурс new удалить.
                      3. Можно главную страницу удалить. Страницу new переименовать в главную, и установить её id в качестве значения параметра site_start.
                      1. Сергей
                        20.05.2017, 15:10
                        Спасибо. Я понял, второй вариант мне подходит.
                2. den777
                  10.05.2017, 15:58
                  Добрый день подскажите, не знаю уже что делать, перепробовал все!!((

                  Создаю новый документ модх его не открывает пишет страница не найдена 404, файлы htacces переименовывал, использую open server, что сделать можно?
                  1. Александр Мальцев
                    12.05.2017, 11:23
                    Здравствуйте, может вы его просто не опубликовали. Т.е. не поставили флажок «Опубликован» для ресурса.
                  2. Юрий
                    28.03.2017, 16:23
                    Еще такой вопрос, может сталкивались. Использую дополнение SEO TAB, в нем есть настройки meta robots, с трудом нашел как их вывести в код с этого дополнения meta name=«robots» content="[[+seoTab.robotsTag]]". Проблема в том что в исходном коде выводится так meta name=«robots» content=«noodp,noydir,index,follow», можно как то убрать noodp,noydir?
                    1. Александр Мальцев
                      28.03.2017, 16:46
                      Не знаю, не использовал такое дополнение.
                    2. Юрий
                      28.03.2017, 11:18
                      Здравствуйте, подскажите пожалуйста как правильно сделать:
                      1. Как вывести автора (Из профиль-Полное имя:). Нужно для 2. Как скрыть полностью строки мета тегов (кейворд и дискрипшн), если они не заполнены. Сейчас если не заполнено, то выводятся строки в исходном коде (нужно чтобы они полностью скрылись если не заполнены):
                      meta name=«description» content=""
                      meta name=«keywords» content=""
                      1. Александр Мальцев
                        28.03.2017, 14:30
                        Здравствуйте.
                        Получить имя (fullname) пользователя по id можно с помощью сниппета pdoUsers:
                        [[!pdoUsers?
                          &users=`78`
                          &tpl=`@INLINE [[+fullname]]`
                          &limit=`1`
                        ]]
                        
                        Вывести что-то в зависимости от того имеет какое-то поле значение или нет можно с помощью фильтров.
                        Например, посредством фильтра notempty:
                        [[*description:notempty=`<meta name="description" content="[[*description]]">`]]
                        [[*keywords:notempty=`<meta name="keywords" content="[[*keywords]]">`]]
                        
                        1. Юрий
                          28.03.2017, 16:20
                          Спасибо, работает, если ничего не заполнено, то оставляет пустые строки в исходном коде, это никак нельзя убрать?
                          Автора мне удалось так вывести meta name=«autor» content="[[+modx.user.id:userinfo=`fullname`]]"
                          1. Александр Мальцев
                            28.03.2017, 16:45
                            С помощью этой конструкции вы получаете имя текущего зарегистрированного пользователя, а не автора ресурса. Тем более значение этой контструкции будет закэшировано.
                      2. Евгений
                        27.03.2017, 14:15
                        Добрый день. извините за может уже не раз повторяющийся вопрос. Но возникла вот такая роблемка.
                        натягиваю html сайт на modx c и подключением стилей проблем вообще не возникло.
                        но когда я начал подключать Wayfinder
                        возникло пару проблем
                        1. не хочет тянуть стили темы ( но это еще ладно )
                        2. не открываются другие страницы, но в меню они появляются)
                        2.1 шаблоны созданы
                        2.2 ресурсы(страницы тоже)
                        2.3 все возможныее ( вроде) настройки чпу тоже
                        3. после настроект при нажатии на лого дублируется кусок ссылки на главной что это не могу понять и как устранить тоже((
                        вот кусок ссылки mydomain.ru/[(http://[(http://index.html
                        чем больше раз нажимаешь, тем больше mydomain.ru/[(http:[(http://[(http://index.html
                        вот так выглядит ссылка о компании
                        /[(http://[(http://[(http://index/o-kompanii.html
                        но все равно вывод главной
                        1. Александр Мальцев
                          27.03.2017, 17:38
                          Не знаю, ни разу с таким не сталкивался. Возможно, где-то допустили ошибку.
                        2. Юрий
                          15.03.2017, 10:51
                          Добрый день! Не могу решить проблему, главная доступна по:
                          http://site.ru/index.php
                          http://site.ru/index.php?id=1
                          http://site.ru/?id=1
                          
                          Подскажите пожалуйста.

                          В файле так htaccess
                          # The Friendly URLs part
                          RewriteCond %{REQUEST_FILENAME} !-f
                          RewriteCond %{REQUEST_FILENAME} !-d
                          RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
                          1. Александр Мальцев
                            15.03.2017, 15:49
                            1. Включите системный параметр request_method_strict (как это сделать можно посмотреть в этом комменатрии: itchief.ru/modx/settings#comment-3981)
                            2. Добавьте после RewriteBase / в файл .htaccess строчки:
                            RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php
                            RewriteRule ^index\.php$ / [L,R=301]
                            1. Юрий
                              15.03.2017, 17:08
                              Еще забыл спросить, есть ли возможность как то задать редирект с учетом регистра, часто сеошники требуют (на джумле у меня был плагин, который это делал). Пример юрл revo.test-pro.pro/o-kompanii.html, когда к примеру ввести в нем большую букву revo.test-pro.pro/o-Kompanii.html, то чтобы шел редирект на revo.test-pro.pro/o-kompanii.html
                              1. Александр Мальцев
                                16.03.2017, 18:41
                                С такой задачей не сталкивался. Для интереса попробовал изменить регистр букв в адресах некоторых страниц Яндекса и Google — они просто выкидывают ошибку 404. Если они такого не делают, то тогда под кого это оптимизировать (не понимаю такого SEO). Не думаю, что нормальные пользователи будут набирать в URL адрес страницы.
                                Необходимо просто сделать путь регистро-зависимым, т.е. нужно не указывать флаг NC в правиле (у вас это и так уже сделано):
                                RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
                                
                              2. Юрий
                                15.03.2017, 17:01
                                Спасибо большое). Остался только такой url mosxrevo.test-pro.pro/?id=1 — с ним можно как то решить проблему?

                                И еще в комментах писал кто-то «Сейчас с url такого вида mysite.ru/index.php?id=2 пересылает на главную. А как сделать так, чтобы отправляло на существующий ресурс по этому id» — как это сделать (там не написан ответ)?
                                1. Александр Мальцев
                                  16.03.2017, 18:03
                                  Добавьте эти 2 правила:
                                  RewriteCond %{REQUEST_URI} ^index\.php$
                                  RewriteCond %{QUERY_STRING} ^(.*)&?id=1&?(.*)$ [NC]
                                  RewriteRule ^index\.php$ /?%1%2 [L,R=301]
                                  
                                  RewriteCond %{REQUEST_URI} ^/$
                                  RewriteCond %{QUERY_STRING} ^(.*)&?id=1&?(.*)$ [NC]
                                  RewriteRule ^$ /?%1%2 [R=301,L]
                                  
                                  Для того чтобы по значению параметра id можно было переходить на соответствующий ресурс, переведите параметр request_method_strict обратно в положение отключено.
                                  1. Юрий
                                    17.03.2017, 00:24
                                    Или может у Вас есть готовый, идеальный так сказать файл htaccess
                                    1. Александр Мальцев
                                      17.03.2017, 11:50
                                      Система CMS MODX Revolution по умолчанию поставляется с готовым (базовым) htaccess. Его можно брать за основу. В дальнейшем в зависимости от задач добавляете в него новые правила или редактируете существующие.
                                    2. Юрий
                                      17.03.2017, 00:11
                                      спасибо большое, помогло)

                                      эти правила можно поставить сразу после?
                                      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php
                                      RewriteRule ^index\.php$ / [L,R=301]

                                      1. Александр Мальцев
                                        17.03.2017, 11:40
                                        Да, можно.
                              3. Vladislav
                                09.02.2017, 11:36
                                Добрый день. Не могли бы подсказать. Выполнены все пункты, которые описаны в статье.
                                Как удалить ссылки клоны? Они все равно остались на некоторые ресурсы
                                1. Александр Мальцев
                                  09.02.2017, 16:30
                                  Не совсем понятно, о каких ссылках идёт речь… Если вам нужно отключить доступ к ресурсам через параметр id, т.е. URL такого вида: mysite.ru/index.php?id=2. То выполняется это посредством включения параметра request_method_strict, который находится в системных настройках MODX Revolution по пути: core -> шлюз.
                                  1. Vladislav
                                    09.02.2017, 17:51
                                    Спасибо. Сейчас с url такого вида mysite.ru/index.php?id=2 пересылает на главную. А как сделать так, чтобы отправляло на существующий ресурс по этому id
                                    1. Vladislav
                                      09.02.2017, 17:59
                                      Спасибо. Решение уже найдено)
                                2. Александр
                                  13.10.2016, 13:30
                                  Скажите, как настроить пути, чтобы по ссылке открыть свою новую страницу?

                                  Создаю сайт пока локально. Сайт лежит в /assets/templates/. В index.html стоит тег
                                  <base href="[[!++site_url]]" />
                                  . Создал страницу с псевдонимом, скажем, page. Из главной пишу ссылку:
                                  <a href="page.html">page</a>
                                  . Но открывается снова главная. Пробовал и путь: "/assets/templates/page.html" — то же самое.
                                  1. Александр Мальцев
                                    13.10.2016, 14:44
                                    Путь к странице (ресурсу) определяется на основании дерева ресурсов в менеджере MODX Revolution.
                                    Если ресурс расположен в корне дерева, то путь до него будет:
                                    протокол://имя_домена/псевдоним(alias)_ресурса
                                    Если ресурс (2) расположен в другом ресурсе (1), который расположен в корне дерева, то:
                                    протокол://имя_домена/псевдоним(alias)_ресурса(1)/псевдоним(alias)_ресурса(2)
                                    И т.д. Но это будет выполняться только в том случае, если в системных настройках параметр «Использовать вложенные URL» имеет значение «Да».

                                    Но если данная опция имеет значение «Нет», то путь до любого ресурса будет определяться только его псевдонимом (alias).
                                    Т.е. путь до ресурса (2), который расположен в другом ресурсе (1), который расположен в корне дерева будет следующим:
                                    протокол://имя_домена/псевдоним(alias)_ресурса(2)

                                    Но, также важен ещё следующий момент. Если у ресурса установлена галочка «Заморозить URI», то путь к нему будет определяться по ней вне зависимости, где он расположен.
                                    1. Александр
                                      13.10.2016, 15:29
                                      Спасибо. Буду знать. Я обнаружил нечто большее: у меня вообще при вводе в браузере любого адреса вида протокол://my_domain/bla/bla/bla открывается index.html.
                                      1. Александр Мальцев
                                        14.10.2016, 09:19
                                        Когда вы пытаетесь открыть несуществующую страницу, возникает ошибка 404. Когда возникает эта ошибка, система MODX перенаправляет пользователя на страницу, указанную в системных настройках (error_page).

                                        В админке попасть в параметр, отвечающий за это, можно так:
                                        Шестерёнка -> Системные настройки -> Сайт (Фильтр по разделу...) -> находим параметр error_page (Страница ошибки 404 Документ не найден). В качестве значения этого параметра указывается id ресурса, на который необходимо перенаправлять пользователя, если ресурс который вы указали не найден.

                                        Если у вас в качестве значения установлено 1, то система MODX Revolution будет перенаправлять пользователя (когда ресурс не найден) на страницу с id, равным 1.

                                        Если вы хотите обрабатывать эту ошибку, то вам необходимо создать новый ресурс (например, 404) и разместить в нём информацию о том, что такой страницы на сайте нет. Потом после этого указать в качестве значения параметра error_page id этого ресурса. Когда вы это сделаете, пользователь будет попадать на эту страницу, если он введёт не существующий URL.
                                        1. Александр
                                          14.10.2016, 12:13
                                          Понял. В таком случае я должен вернуться к первой беде — она осталась. Я выключил вложенные URL. Ничего не помогает.
                                          1. Александр Мальцев
                                            14.10.2016, 12:50
                                            Необходимо сделать настройки не только в MODX, но и в конфигурационном файле (например, на Appache .htaccess) сервера. Может вы не настроили конфигурационный файл…
                                            1. Александр
                                              14.10.2016, 20:14
                                              В файле OpenServer/domains/mysite/.htaccess я ничего не менял. В частности, эти строки остались:
                                              #RewriteCond %{HTTP_HOST} .
                                              #RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
                                              #RewriteRule (.*) http://example-domain-please-change\.com/$1 [R=301,L]
                                              
                                              Я локально работаю. Нужно их (или вообще что-то в этом файле) менять?

                                              P.S. Я пробовал менять на http: //mysite, но тогда страницы вообще переставали открываться.
                                              1. Александр Мальцев
                                                16.10.2016, 10:23
                                                Работаете вы на локальном сервере или нет, настройки всё равно надо проводить. Этот файл осуществляет конфигурирование сервера.

                                                Эти строки отвечают за переадресацию с www на без www. Если она вам нужна, то её необходимо настроить.

                                                Для работы ЧПУ на сервере необходимы только следующие строки:
                                                RewriteEngine On
                                                
                                                RewriteCond %{REQUEST_FILENAME} !-f
                                                RewriteCond %{REQUEST_FILENAME} !-d
                                                RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
                                                
                                                1. Александр
                                                  16.10.2016, 11:57
                                                  Эти строки и так присутствуют… Ладно, Александр, простите за беспокойство! Спасибо за все ответы. И так много времени у вас отнял.
                                  2. Дмитрий
                                    25.09.2016, 21:59
                                    Подскажите пожалуйста, как писать в .htaccess домены в зоне — рф?
                                    1. Александр Мальцев
                                      26.09.2016, 13:13
                                      Необходимо использовать Punycode. Punycode — это метод который переведёт Unicode символы в формат ACE. Для этого можно воспользоваться конверторами:
                                      _https://hb.by/punycode-converter.aspx
                                      _https://rx-name.ru/domain/idnconverter
                                      Полученный Punycode (ACE) использовать в .htaccess.
                                      Например, сделать редирект с домена рф на ru:
                                      RewriteEngine On
                                      RewriteCond %{HTTP_HOST} ^xn--e1af4ajs.xn--p1ai
                                      RewriteRule ^(.*)$ http://itchief.ru/$1 [R=301,L]
                                      
                                    2. Елена
                                      05.09.2016, 19:53
                                      Спасибо огромное за статью, очень понятно! Помогло
                                      1. Khio
                                        20.08.2016, 18:00
                                        Статья понятная. Спасибо!
                                        1. Юрий
                                          15.06.2016, 20:21
                                          Подскажите, пожалуйста, где можно изменить правила транслитерации для translit? Например, мне не нравится, что «ы» транслитерируется на «yi», я бы оставил вариант «y». Аналогично для некоторых других букв
                                          1. Александр Мальцев
                                            16.06.2016, 12:47
                                            Таблица транслятирации находится в файле:
                                            core/components/translit/model/modx/translit/tables/russian.php
                                            1. Юрий
                                              16.06.2016, 12:58
                                              Спасибо за помощь! Методом тыка уже удалось найти эту таблицу! ) У вас очень полезный сайт. Так держать )
                                          2. Алексей
                                            31.03.2016, 11:50
                                            Подскажите пожалуйста как решить проблему.

                                            MODX у меня установлен в корень сайта.
                                            И после настройки .htaccess по вашей рекомендации, вот так:
                                            RewriteCond %{HTTP_HOST} .
                                            RewriteCond %{HTTP_HOST} !^site\.ru [NC]
                                            RewriteRule (.*) http://site.ru/$1 [R=301,L]
                                            Все припаркованные домены на сайте, в строке адреса браузера стали отображаться ввиде:
                                            http://site.ru/www.priparkovannei-site.ru/
                                            Как это можно исправить?
                                            Спасибо.
                                            Войдите, пожалуйста, в аккаунт, чтобы оставить комментарий.