Url modx: Как получить url текущей страницы вместе с GET? / Русскоязычное сообщество MODX

MODX ЧПУ: настройка дружественных url

Автор Алексей На чтение 6 мин Просмотров 13.4к. Опубликовано Обновлено

Содержание

  1. Настройка ЧПУ MODX
  2. Настройка базового URL
  3. Переименовываем файл ht.access
  4. Установка пакета для транслитерации
  5. Какое дополнение выбрать?
  6. Системные настройки MODX — Дружественные URL
  7. Системные настройки MODX — Шлюз
  8. MODX — убираем html из URL

Сегодня же мы продолжим настраивать MODX, а если конкретнее, то настроим ЧПУ MODX — человеко понятные (дружественные) URL адреса (иными словами сделаем читаемыми URL адреса (пример: Заголовок страницы «О компании», сейчас выглядит так: /index.php?id=7, а станет выглядеть так /o-kompanii или /about).

Настройка ЧПУ MODX

Настройка состоит из нескольких шагов.

Настройка базового URL

Кто идет по моим урокам с нуля — вам данный шаг делать пока что не нужно — сделаем во время натяжки шаблона.

Проверьте стоит ли у вас в шаблонах (или чанке) в секции head параметр <base href="">:

<head>
<base href="[[!++site_url]]">
...
</head>

На Fenom вызов выглядит так:

<head>
<base href="{'site_url' | config}" />
...
</head>

Если его нет пропишите —  без него будут проблемы с дублированием URL относительно текущей страницы при переходе на другую страницу.

Переименовываем файл

ht.access

В корневой папке сайта лежит файл ht.access переименуйте его в .htaccess. Сделать это можно по FTP или через файловый менеджер хостинга: если вы это еще не сделали, сначала идите в статью: Настройка .htaccess для MODX.

Установка пакета для транслитерации

На данный момент мне известно 4 пакета (дополнения), один самый часто устанавливаемый из основного репозитория: translit — мне не нравится качество его транслитерации (оставляет точки и запитые).

И 3 дополнения из репозитория modstore:

Translitor — улучшенная версия translit — качество транслитерации лучше и вырезает точки с запятыми.

yTranslit — генерирует дружественных url через api переводчика Яндекс. Уже не актуален, т.к. с 2021 бесплатного api у яндекса больше нет.

gTranslit  — тоже самое, что yTranslit, только работает с помощью GoogleTranslateForFree.

Пример транслитерации 3 мя компонентами фразы: «Тарифы, цены.»

Translit: «tarify,-ceny.»

Translitor: tarify-ceny

gTranslit: rates-prices

Какое дополнение выбрать?

Под поисковую систему яндекс больше заходит Translitor, а вот под Google лучше заходит gTranslit. ’\\]/

  • Вырезать теги элементов из псевдонима — friendly_alias_strip_element_tags: Да
  • Символы, вырезаемые из псевдонима — friendly_alias_trim_chars: /.-_
  • Разделитель слов в псевдонимах —
    friendly_alias_word_delimiter
    : —
  • Разделители слов в псевдонимах — friendly_alias_word_delimiters: -_
  • Проверять на дублирование URI во всех контекстах — global_duplicate_uri_check: Нет
  • Теперь пробежимся по настройкам которые пришлось изменить!

    Вот эти три значение выставляет translitor при его установке:

    • Транслитерация псевдонимов — friendly_alias_translit: russian
    • Класс, управляющий транслитерацией псевдонимов — friendly_alias_translit_class: translitor
    • Путь к классу, осуществляющему транслитерацию псевдонимов — friendly_alias_translit_class_path: {core_path}components/translitor/model/

    Если установили gTranslit, он сам должен проставить настройки:

    • friendly_alias_translit_class = modx. gtranslit.modTransliterate
    • friendly_alias_translit_class_path = «{core_path}components/gtranslit/model/»
    • friendly_alias_translit = ru

    А вот эти мы получается меняем в ручную:

    • Максимальная длина псевдонима — friendly_alias_max_length — 70 (большее 70 символов получается слишком длинный адрес страницы).
    • Создавать ЧПУ-псевдоним (так называемые «дружественные URL») «на лету» — friendly_alias_realtime — Да (генерирует псевдоним в реальном времени).
    • Метод фильтрации символов в псевдонимах — friendly_alias_restrict_chars — alphanumeric (чтобы у псевдонима вырезалось все кроме букв и цифр)
    • Использовать дружественные URL — friendly_urls — Да (включаем URL вида /o-nas.html или /about-us.html (транслитерация псевдонимов), а не параметрические, вроде /index.php?p=3 (для поддержки опции на некоторых хостингах нужны соответствующие настройки веб-сервера Apache в файле . htaccess или в конфиг-файле Nginx)
    • Строгий режим дружественных URL — friendly_urls_strict — Да

    Дальше в отличии от того какую вы хотите сделать структуру URL — вложенную (web-revenue.ru/modx-revo/nastroyka-chpu) или плоскую (web-revenue.ru/nastroyka-chpu)

    Для вложенной структуры указываем.

    Использовать вложенные URL — use_alias_path — Да

    Чтобы в URL учитывался псевдоним родителя, а не его замороженный URL

    Не работают дружественные url? Не забываем про требования к серверу:
    На сервере (Apache) должна быть включена функция Mod_Rewrite.

    А для плоской Использовать вложенные URL — Нет

    Настройку Использовать «замороженные» URI родителя — use_frozen_parent_uris — любой (по желанию)

    В принципе все! У нас сейчас ЧПУ вида /o-kompanii.html (или /about-us.html).

    Все настройки ЧПУ в MODX (под translitor)

    Системные настройки MODX —

    Шлюз

    Переключаемся в фильтре на Шлюз и меняем настройку

    Строгий метод запроса — request_method_strict — Да

    Чтобы ссылки работали только в ЧПУ-виде через редирект и не открывались по ссылкам вида https://site. ru/index.php?id=7

    MODX — убираем html из URL

    После настройки ЧПУ MODX, наши URL адреса приняли вид /o-kompanii.html

    И для того что бы убрать это расширение (.html) идем в «Содержимое» -> «Типы содержимого«. На открывшейся странице в столбце «Расширение файла» ищем .html и удаляем его расширение (или переименовываем на какое-нибудь другое, к примеру .asp. тогда URL примет вид: /o-kompanii.asp).

    Потом если сайт боевой (со страницами) обновляем кэш сайта и обновляем URL ссылки (управление – очистить кэш).

    Проверяем!

    Все расширения .html больше нет). Вот так легко и просто в MODX убрать html из URL.

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

    Дружественные URL, псевдонимы — Создание сайта на MODX Revolution

    Дружественные URL обычно сокращаются в MODX как FURL.

    Индексный файл index.php в MODX фактически является модулем-диспетчером. Все запросы браузера относительно тех или иных веб страниц проходят через index.php. При выключенных FURL (это имеет место после первой установки MODX) MODX обращается к документам по их номерам идентификатора ресурса. Поэтому, если браузер запрашивает страницу с ID 11, URL будет выглядеть примерно вот так :

    http://yoursite.com/index.php?id=11

    Если же вы включите FURL и ресурс 11 будет иметь псевдоним «support», URL будет выглядеть следующим образом :

     http://yoursite.com/support.html

    Почему желательно использовать FURL и дружеские псевдонимы

    Поисковые машины, подобные Google, при индексации сайтов ищут ключевые слова. Они ищут их в заголовках страницы, в заголовке сайта, содержимом страницы, а также в URL страницы. Без использования FURL поисковые машины будут игнорировать ID в URL. Они будут видеть ключевые слова в имени домена, но не увидят их в названии каждой страницы. Таким образом, использование дружественных URL и псевдонимов страниц делает сайт более дружественным для поисковиков.

    Системные настройки для FURL

    Для включения FUR нужно, во-первых, соответственно установить системные настройки и отредактировать располагающийся в корне сайта файл .htaccess. Вначале рассмотрим системные настройки, а затем файл .htaccess. Для того, чтобы увидеть системные настройки для FURL перейдите к разделу Система -> Настройки системы. Можно в поле «поиск по ключу»  набрать friendly и нажать «Enter», но лучше использовать фильтр по разделу и выбрать «Дружеские URL».

    Вы можете кликнуть на значке «+» слева от названия любой установки, чтобы больше о ней узнать. Если вы дважды кликните на поле значения, вы сможете изменить его значение в большинстве браузеров. Если это не работает, кликните на установке правой кнопкой и выберите «Редактировать».

    Настройка «использовать дружественные URL»

    Эта настройка позволяет включить и выключить дружественные URL. Помните, что включение дружественных URL не обеспечит вам их автоматическое использование до тех пор, пока вы не настроите файл .htaccess.

    Настройка «использовать вложенные URL»

    Эта настройка определяет будет ли с помощью дружественных URL показан весь путь до страницы или нет. То, как вы устанавливаете настройку «использовать вложенные URL» по большому счету зависит от ваших личных предпочтений. Включение этой настройки дает больше ключевых слов поисковым машинам, однако, с другой стороны, это может приводить к созданию длинных (иногда очень длинных) URL, которые неудобно будет набирать пользователям.

    Конфигурирование файла .htaccess

    Сервер анализирует файл .htacess

    , который устанавливает множество настроек, управляющих работой сервера. Вы можете иметь файл .htaccess в любой директории, но сейчас мы рассматриваем файл, который находится в корневом каталоге.

    Если вы разместили ваш сайт в директории public_html (или некоторой другой) на удаленном хостинге, первым делом нужно проверить не разместил ли хостинг-провайдер уже  этот файл в этой директории. Чаще всего этого не случается, но если это так, то разместите код MODX FURL в существующем файле. Важно : если файл .htacess существует, сделайтеего копию перед внесение каких-либо изменений.

    Во время установки MODX помещает файл ht.access в корневую директорию. Это не файл .htaccess. Файл h.taccess не выполняет никаких функций, но содержит код, необходимый для работы MODX FURL. Если нет существующего файла, скопируйте ваш файл ht.access в ht.access.bac,

    чтобы у вас была резервная копия. Затем создайте файл .htacess, переименовав ht.acces в .htacess.

    На некоторых платформах Windows у вас не получится переименовать файл ht. access в .htaccess (Windows думает, что это только расширение из-за начальной точки и услужливо сообщает, что вы забыли указать имя файла). В этом случае решением может быть загрузка файла в текстовый редактор, такой как Notepad и сохранение файла («сохранить как») под именем .htacess

    После того, как вы создали ваш файл .htacess, убедитесь, что ввлючена настройка «Использовать дружественные URL» в настройках системы и очистите кэш MODX (Сайт -> Обновить сайт)

    Назад
    Вперёд

    .htaccess — Как удалить .html из понятного URL — Modx?

    спросил

    Изменено 5 лет, 3 месяца назад

    Просмотрено 9к раз

    Я использую MODX Revolution 2. 2.4-pl. Я использую прилагаемый файл .htaccess и включил дружественные URL-адреса. Это мои правила перезаписи. 9(.*)$ index.php?q=$1 [L,QSA]

    Как они должны выглядеть, чтобы удалить .HTML из URL-адреса?

    Я искал это в течение последних двадцати минут, и мои решения не сработали. Спасибо. Войдите в Менеджер.

    MODX Revolution

    2.2.x и более ранние версии: перейдите в System -> Content Types .

    2.3.x и более поздние версии: перейдите к

    Content -> Content Types .

    Найдите HTML и сотрите то, что написано в «Расширении файла». Для этого дважды щелкните .html в таблице, чтобы активировать редактируемое поле. После того, как вы стерли содержимое, очистите кеш.

    MODX Evolution

    Перейдите к Инструменты -> Конфигурация -> Дружественные URL-адреса .

    Удалить содержимое в «Понятный суффикс URL». Сохраните и очистите кеш. 9(.*)$ index. php?q=$1 [L,QSA] #ПереписатьПравило . /index.php [Л]

    1

    Во-первых, я думаю, вам нужно понять, что этот .htaccess пытается сделать.

    Он пытается перенаправить все запросы, поступающие на сайт, которые не относятся к реальному файлу или каталогу (т. в index.php.

    Если то, что вы пытаетесь сделать, это использовать набор файлов *.html на вашем сайте (а не передний контроллер), но использовать чистые URL-адреса, тогда вам нужно будет использовать другой тип перезаписи. Наверное, что-то вроде 9(.*)$ $1.html [L, QSA]

    Это правило принимает запрос в форме http://domain.com/somepage и автоматически указывает на http://domain.com/somepage.html для обслуживания запроса.

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя адрес электронной почты и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Часть I.

    Настройка понятных URL-адресов для изменений файла MODX-HTACCESS

    Автор Arnel Custodio

    Просмотров: 3 287

    Опубликовано: 15 февраля 2013 г.

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

    Как вы определяете «дружественные URL»? Дружественные URL-адреса — это в основном адреса веб-сайтов, которые называются «дружественными», потому что они предоставляют более читаемый URL-адрес, который может помочь как пользователям, так и поисковым системам. Чтобы увидеть разницу в использовании дружественного URL, просмотрите URL в таблице ниже:

    Недружественный URL Дружественный URL
      http://website_name.com/123509&432.php   http://website_name.com/productpage.php

    Дружественный URL-адрес гораздо легче запомнить, в отличие от «недружественного» URL-адреса, который часто может содержать трудно запоминаемые цифры, символы и буквы. Кроме того, использование более читаемых ссылок помогает индексировать страницы сайта в идентифицируемые группы, которые помогают пользователям и поисковым системам в поиске на веб-сайте.

    Эти ссылки также часто называют дружественных к поисковой системе ссылок.

    Следующее руководство является первой частью серии из двух частей, необходимых для настройки дружественных URL-адресов в MODX Revolution. Сначала мы рассмотрим шаги по использованию MODX-версии файла .htaccess .

    Если вы завершили эту часть подготовки, перейдите ко второй части под названием Часть II: Внесение изменений в шаблон и настройки системы для включения понятных URL-адресов .


    Переименовать оригинал .htaccess файл

    Следующие шаги переименовывают ваш текущий файл .htaccess, чтобы вы могли заменить его файлом, предоставленным MODX.

    1. Используйте FTP-клиент или интерфейс вашего хостинга для доступа к каталогу вашего текущего файла .htaccess . Web Hub Hosting Hub использует файловый менеджер Cpanel для доступа к файлам на веб-сервере. Перейдите к Использование файлового менеджера в Cpanel или, если вам нужна дополнительная информация об использовании FTP-клиента, перейдите к Начало работы с FTP для получения дополнительной информации.
    2. Используя интерфейс, предоставляемый вашим хостом, например файловый менеджер Cpanel, переименуйте текущий файл .htaccess в htaccess-old . Инструкции по переименованию с помощью интерфейса Cpanel см. в разделе Переименование файлов с помощью файлового менеджера Cpanel .


    Редактирование версии MODX файла .htaccess

    MODX предоставляет версию файла .htaccess при установке по умолчанию. Однако вам нужно будет отредактировать файл перед загрузкой файла в файлы вашего хостинг-сервера, чтобы использовать его.

    ПРИМЕЧАНИЕ: MODX предоставляет инструкции о том, что вы должны изменить в файле .htaccess, но вы должны тщательно проверять все сделанные вами записи. Эти записи должны быть правильными, иначе будут генерироваться ошибки, и веб-сайт может не работать.

    1. Откройте отдельное окно браузера и войдите в панель администратора Modx.
    2. В дереве ресурсов в левой части экрана щелкните вкладку ФАЙЛЫ . Для установки по умолчанию вы можете увидеть список файлов, как на снимке экрана справа (этот список может отличаться в зависимости от того, что вы загрузили).
    3. Щелкните правой кнопкой мыши выделенный файл (как показано на снимке экрана справа) с именем ht.access .
    4. Далее нам нужно отредактировать файл, чтобы использовался правильный URL. Нажмите на опцию РЕДАКТИРОВАТЬ ФАЙЛ . Это откроет файл MODX ht.access в текстовом редакторе. ПОЖАЛУЙСТА, ПРОСМОТРИТЕ ВСЕ ИНСТРУКЦИИ, КОТОРЫЕ MODX РАЗМЕСТИЛА В КОММЕНТАРИЯХ . Комментарии в файле MODX ht.access начинаются со знака «#» в начале строки. Основное изменение, которое вы должны сделать, касается следующей области ht.access файл:

      RewriteEngine On
      RewriteBase /

      «Rewrite Base /» должно включать имя каталога, в котором находится ваша установка MODX. Если вы установили его непосредственно на свой веб-сайт, то он должен быть пустым и никаких записей. Если вы установили MODX в папку с именем «modx», то текст после «RewriteBase/» должен быть «modx». Например:

      RewriteBase /modx

    5. После внесения изменений нажмите СОХРАНИТЬ в правом верхнем углу.
    6. Теперь нам нужно переместить отредактированный файл на веб-сервер вместе с остальными установочными файлами MODX. Щелкните правой кнопкой мыши файл ht.access в дереве ресурсов. Нажмите СКАЧАТЬ ФАЙЛ . Обязательно обратите внимание на то, где вы загружаете файл.
    7. Вернитесь к интерфейсу хоста, который вы использовали ранее, чтобы переименовать исходный файл .htaccess . Загрузите недавно отредактированное ht.access в тот же каталог, что и ваш предыдущий файл .htaccess . Обратите внимание, что этот каталог должен быть местом установки Modx.
    8. Используйте свой хост-интерфейс или FTP-клиент и ПЕРЕИМЕНОВАТЬ файл ht.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *