Меню

Modx revo не работает чпу

Настройка ЧПУ (SEF) в MODX Revolution

ЧПУ (человеко-понятных URL) или SEF URL (search engines friendly url) — важный параметр для поисковых систем, а так же полезен для конечного пользователя: с помощью ЧПУ легко определять уровень вложенности документа и каталога.

Навигация по статье:

О ЧПУ (SEF)

ЧПУ (SEF) — крайне важный параметр для пользователя и поисковых систем, с помощью ЧПУ проще ориентироваться на сайте. Поэтому, если есть возможность их использовать — смело внедряйте!

Адрес ресурса сайта на MODX без ЧПУ выглядит так:

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

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

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

Переименовываем файл дополнительной конфигурации ht.access в .htaccess который находиться в корневой папке сайта.

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

Скачиваем в админке компонент translit и устанавливаем его.

p.s. Так же можно использовать компонент yTranslit. Данный компонент чуть сложнее в настройках, но позволяет делать переводы для URL через Api Яндекс.

Непосредственная настройка ЧПУ в системных настройках

1. Переходим в пункт «Системные настройки» и выбираем из списка «Фильтр по разделу» пункт «Дружественные URL».

2. Устанавливаем значения настроек для «Дружественных URL».

Обратите внимание на «Метод фильтрации символов в псевдонимах». Я ставлю «alphanumeric» — псевдоним может состоять ТОЛЬКО из букв и цифр.

Вообще в MODX Revo заложены следующие форматы фильтрации символов:

  • «pattern» — псевдоним может состоять только из символов соответствующих регулярному выражению (включен по умолчанию);
  • «legal» — псевдоним может состоять из любых допустимых в URL символов;
  • «alpha» — псевдоним может состоять только из букв;
  • «alphanumeric» — псевдоним может состоять только из букв и цифр.

3. Там же, в «Системных настройках» выбираем из списка «Фильтр по разделу» пункт «Шлюз».

Тут ставим «Да» у «Строгий метод запроса», чтобы ссылки работали только в ЧПУ-виде через редирект и не открывались по ссылкам вида http://www.site.ru/index.php?id=5

Вот и все. На этом настройка ЧПУ (SEF) в MODX Revolution закончена.

Источник

Файл ROBOTS.TXT

Хотя это и не являлось темой этого урока, решил всё же разместить здесь содержимое файла robots.txt для MODx Revolution. Файл содержит правила для поисковых роботов.

Этот файл запрещает (разрешает) индексирование-посещение поисковыми роботами файлов из указаных в нём директорий.

Содержимое моего robots.txt:

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

Александр

Мне показалось, что в файле роботс.тхт вместо ассетс/ надо написать коре/. А папку инсталл/ надо вообще удалить. У меня сложности с этим файликом нарисовались. Содержимое:
User-agent: *
Disallow: /manager/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Disallow: /index.php
Disallow: /cgi-bin/
А сегодня узнал, что пауки не смогли зайти на сайт. Я где-то ошибся?

Александр

ссылка на новый .htaccess не работает

Viktorminator

Скачал файл htaccess — есть вопросы
1. в файле отсутствует правило RewriteBase / — это нормально?

Options +FollowSymlinks
RewriteEngine On

2.
было так.
RewriteCond % .
RewriteCond % !^petrov.com\.com [NC]
RewriteRule (.*) http://petrov.com/$1 [R=301,L]

Читайте также:  Не работают правые габариты лачетти

а как в новом фале прописать домен petrov.com?
#
# RewriteCond % !=on
# RewriteCond % ^www\.(.+)$ [NC]
# RewriteRule ^ http://corsarrex.com/%1% [R=301,L]
#

Viktorminator

RewriteBase / конечно же должен быть.
для petrov.com правило будет
RewriteCond % .
RewriteCond % !^petrov\.com [NC]
RewriteRule (.*) http://petrov.com/$1 [R=301,L]

Спасибо Виктор, надеюсь это единственная ошибка в данном файле =)
Возможно стоит сообщить тому человеку о ней =)

мдас. увы с htaccess ничего не вышло, как не крутил внутренняя ошибка сервера. Явно не мой уровень, халява не проскочила =)

Роман Колодяжный

«мдас. увы с htaccess ничего не вышло, как не крутил внутренняя ошибка сервера. Явно не мой уровень, халява не проскочила =)»

закомментируй эту строку — #Options +FollowSymlinks. Уменя на фрихосте только так работает, видимо от настроек сервака зависит..

такой строчки нет и быть не может, уважаемый

Алекс

Спасибо за пример!Успешно настроил зеркала!
Кстати в гугле не обязательно указывать основной домен,если всё правильно настроено в htaccess,то ПС сама определит.

Эдуард

Добрый день. Пытаюсь переименовать файл ht.access в .htaccess, выскакивает ошибка, что нужно ввести имя файла. Без точки впереди, сохраняет , с точкой — нет. Подскажите, как быть в этом случае?
Заранее благодарен.
Эдуард.

Константин

Добрый день
для сайта с www / для сайта без www
а как прописывать если нужно что-бы на сайт переходили по адресу petrov.com, и по www.petrov.com?

Viktorminator

Ничего не прописывайте тогда. Но сайт с www и без них воспринимаются как два разных, а потом гугл видит, что у вас одинаковая информация на двух сайтах и понижает рейтинг.

Алексей

Эдуард для того чтобы переименовать ht.access в .htaccess. Откройте файл ht.access при помощи программы Notepad++, нажмите сохранить как , далее введите .htaccess и сохраните

Константин

Доброго времени суток! Подскажите, а можно ли сделать ЧПУ без расширения .html? Чтобы просто было «resurs.ru/adres».
Спасибо заранее!

Viktorminator

В менеджере System->Content types у html-типа содержимого уберите .html

Алексей

Если директория MODx находится в Имя_домена/public_html/ — какое правило указывать: это-

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

Константин

Виктор, спасибо большое! Отличный ресурс, начал изучать modx (до этого пользовался Drupal’ом), буду пользоваться вашими статьями для изучения!

Viktorminator

«Это». Просто со слешем. Если в директории, тогда /directoryname/

Михаил

Странная ошибка. Установил сайт на хостинг. А кроме главной страницы ничего не отображается, отдает 404 ошибку. Создал несколько страниц — толку 0.

Viktor Minator

Вы, наверное, включили Friendly Url, а ht.access в .htaccess не переименовали.

Здравствуйте. Настраивал чпу на последней версии revo, обнаружил еще один пункт не упомянутый в статье. У меня следующим пунктом после «Использовать дружественные URL» идет friendly_urls_strict с вариантами да и нет. Гугл не признается что это, может вы подскажете? Спасибо.

Slava Beico

Спасибо. Очень помогла ваша статья!

Aleksandr Sergeevich

Скачал файл htaccess (https://github.com/anselmh/modx-boilerplate/blob/master/ht.access) — все сделал как описано — но выдавало 500 ошибку — пока не убрал этот параметр.
Options -MultiViews
Вот интерисует — он нужен или нет??

Руслан Сапижук

У меня такая проблема, включил ЧПУ, настроил все как в инструкции, все работает, но только когда переходит в контейнер документов (site.ru/conteiner/) то при клике на другой пункт меню или снова на контейнер то урл содержит в себе /conteiner/ вот как это выглядит site.ru/conteiner//conteiner/ при повторном клике картина такая site.ru/conteiner//conteiner/ /conteiner/
Кто сталкивался с этой проблемой

Читайте также:  Как настроить фотоаппарат для съемки документов
Viktor Minator

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

Boris Nizo

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

Viktor Minator

Ресурс создаётся, но не просматривается, наверное не переименован ht.access -> .htaccess

Boris Nizo

Нет, все переименовал, но всеравно упорно не хочет создаваться ресурс. могу дать доступ, если можно. сайт пустой, начал с настройки чпу, а тут такой прикол. ни в какую((

Viktor Minator

viktorminator skype или через вконтакте бросьте доступы — гляну.

Aleksandr D

Виктор подскажите — может я что-то пропустил, но как боротся со слешем в конце — это же разные получаются страницы. Например
http://ваш_сайт/id — адрес с использованием ID ресурса;
http://ваш_сайт/id/ — адрес с использованием ID ресурса со слешем в конце;
http://ваш_сайт/id.html — адрес с использованием ID ресурса и суффикса;
http://ваш_сай/id.html/ — адрес с использованием ID, суффикса и слеша в конце;

Дмитрий Демченко

Не правильно указан у Вас базовый урл. По крайне мере пока я не поставил — стили не находились.

Дмитрий Демченко

Не правильно указан у Вас базовый урл. По крайне мере пока я не поставил — стили не находились.

Евгений Солдатов

Здравствуйте. Возникла следующая проблема. Я убрал расширение .html, убрал cуффикс контейнера, чтобы мои страницы открывались http://mysite.ru/test
В файле .htaccess прописал

# Remove trailing slash
RewriteRule ^(manager)/*$ – [L] # exclude manager folder
RewriteCond % (.*)/
RewriteRule ^(.*)/$ http://example.com/$1 [R=301,L]

Чтобы если при вводе http://mysite.ru/test/ был внутренний рерайт на http://mysite.ru/test
Но после этого перестало заходить в админку.

Viktorminator

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

Ulkin Igor

Помогите стать капельку умнее:
Как настроить Wayfinder, чтобы он к ресурсам в корневой папке добавлял /. Если добавлять в чанк вывода /, слеш выводится везде кроме корневых ресурсов (см. пример).
(хотя возможно я запутался в чанках)

Пример нерабочего вывода (при просмотре из ресурсса «help/clubcard.html» показывается «/help/contact.html» вместо «/contact.html»):
a href=»/help/clubcard.html» >Клубная карта
a href=»contact.html»>Контакты

Выкрутился добавив &fullLink=`true`. Но может есть иное решение?

сайт: http://test.boboloom.com/
хостинг: мастерхост
Базовый урл прописан и .htaccess — приписан как в примере в начале статьи

Viktorminator

Системная настройка alias_path — No

Monti

У вас в начале статьи написано:
base url=
а правильно
base href=
http://www.w3schools.com/tags/tag_base.asp

Viktor Matushevskyi
Сергей N

Доброго времени суток!
Очень помогла ваша статья.
Виктор, исправьте пожалуйста в синем прямоугольнике в начале статьи
должно быть base href=
а у вас base url=

Viktor Matushevskyi
Александр Быковский

У меня любопытный момент.
Если речь идет о конечной странице то УРЛ выглядит так:
http://site.ru/index/6/some-page (где: 6 — это ID родителя).
А если говорить о родителе, то есть о контейнере, то так:
http://site.ru/index/parent/

Читайте также:  Почему у самсунга не работает клавиатура

Собственное вопрос: откуда берется index и ID родителя и как это дельце убрать?

Alex Penskoni

Тут недавно прочитал такую вещь про robots.txt
Дополнительные директивы следует применять только в записях (секциях) для роботов, поддерживающих данные директивы.
Или по другому:
Не использовать дополнительные директивы в секции для всех роботов.
Т.е. никаких Host: или Crawl-delay: в секции User-agent: *

Вот оригиналы
http://notes.webartsolutions.com/archives/000084
http://robotstxt.org.ru/robotstxterrors#__1.html — Подзаголовок Использование дополнительных директив в секции *
Получается нужно писать host для тех поисковиков, которые это поддерживают?

Viktor Matushevskyi

Давайте так: 2 основных поисковика — это яндекс и гугл. Смотрим что они пишут по этому поводу http://help.yandex.ru/webmaster/controlling-robot/robots-txt.xml и https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt
Используя прочитаное по ссылкам — пишем для них robots.txt

Валерий Константинов

Добрый день. Дополнение Translit установил, файл .htaccess последней версии, но URL-адреса все равно не переводятся на латиницу, они автоматически задаются по-русски. В чем может быть проблема? Какие именно строчки в .htaccess отвечают за перевод на латиницу? Или их там нет и за это отвечает Translit? Благодарю за помощь.

Валерий Константинов

Подскажите, пожалуйста, как решить данную ситуацию?

Viktor Matushevskyi

Выставить в настройках ключ friendly_alias_translit в значение Russian

Валерий Константинов

большое спасибо! Только russian с маленькой буквы.

Антон Щёлкин

Добрый день. Скачал версию modx 2.3.1 и хотел бы настроить ЧПУ, но не могу найти параметр Use Friendly Alias Path. Вместо него есть параметр Использовать вложенные URL. Ключ у этого параметра такой же как и ключ у параметра Use Friendly Alias Path. Подскажите, пожалуйста, это один и тот же параметр, но с разными названиями или эти параметры друг к другу отношения не имеют? Спасибо.

Антон Щёлкин
Алекс Тихонов

Подскажите как решили вопрос, сейчас тоже столкнулся

Источник

Настройка ЧПУ на MODx Revo

В данном уроке мы с вами настроим ЧПУ или человекопонятные URL. Что это такое? – спросите вы. Это преобразование строки URL с параметрами на строку, понятную человеку. Например, по умолчанию в MODx URL-адреса имеют следующий вид: http://site.com/?id=207. Данный способ написания URL-адресов не очень удобен, поэтому, мы можем преобразовать его в, например, такой – http://site.com/news/good-news.html. Согласитесь, что это очень удобно.

Итак, для того, чтобы нам настроить ЧПУ, необходимо перейти а “Настройки системы” (данный пункт вы увидите, если наведете на шестеренку, рядом с аватаром пользователя). Выбираем пространство имен “core” – тема “Дружественные URL”:

Далее выставляем следующие параметры (выставить их можно по двойному клику левой кнопкой мыши):

  • friendly_alias_translit – Russian (не забыли установить translit в предыдущем уроке?)
  • friendly_urls – Да
  • friendly_urls_strict – Да
  • use_alias_path – Да
  • use_frozen_parent_uris – Да

Теперь у нас включены ЧПУ, но работать они не будут, так как мы не переименовали файл ht.access, находящийся в корне сайта. Переименовываем его в “.htaccess” (через FTP либо через правый клик мыши по файлу).

Вот и все! Просто не правда ли?

Петропавловский Артем

автор

Основатель Dart Agency, web-разработчик, блоггер.

Источник

Adblock
detector