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


Настройка ЧПУ и htaccess для MODX Revolution

Частая ошибка! Для правильного отображения ссылок в head сайта нужно прописать базовый URL примерно вот так:

<base href="http://site_name.ru" />

Настройки сайта для формирования ЧПУ

  1. Заходим в Системные настройки (System settings) и выбираем Friendly URLs в фильтре слева.

    Настройка ЧПУ и htaccess для MODX Revolution

  2. Ставим "Нет" в автоматическую генерацию ЧПУ (Automatic alias - No) и "Да" в использовать ЧПУ (friendly_urls - Yes), "Да" в Использовать ЧПУ в путях псевдонимов (use_alias_path - Yes)

    Настройки сайта для формирования ЧПУ

  3. Для автоматической генерации псевдонимов (Алиасов) из русского (или другого языка) в псевдоним, состоящих из латинских букв, устанавливаем дополнение Translit http://modx.com/extras/package/translit

  4. Скачиваем из гитхаба последнюю версию .htaccess для MODx Revolution по этой ссылке

  5. Переименовываем в .htaccess данный файл и заливаем на хостинг в корневую папку. Предварительно нужно внести в этот файл некоторые изменения (см. ниже).

.htaccess для MODX Revolution

Что такое .htaccess - говоря по-простому, то это файл, который содержит набор правил переименования запросов (URL) к вашему сайту.

На что стоит обратить внимание в данном файле:

  1. Если ваша MODx директория находится в public_html, то правило.

    <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteBase / </IfModule>

    Оставляем без изменения, если используете поддиректорию subdirectory, то правило будет выглядеть так.

    <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteBase /subdirectory/ </IfModule>

    Здесь, думаю, всё понятно.

  2. Ваш сайт может иметь только одно имя www.sitename.com или sitename.com без www. Так как поисковые системы воспринимают данные два сайта как абсолютно разные. Поэтому необходимо определится с основным доменном и ввести в .htaccess правило для него:

    Для сайта без www

    RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC] RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]

    Для сайта c www

    RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC] RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]

    Не используйте эти два правила одновременно!

  3. После того, как вы указали правило для основного домена, желательно указать для Google какой ваш домен является основным. Панель Google для вебмастеров

    Google для вебмастеров

  4. Непосредственно само правило перезаписи URL в ЧПУ содержится в следующих строчках.

    RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
  5. Далее в файле .htaccess взятом с гитхаба (см. ссылку выше) идут дополнительные настройки-правила (для файлов разных типов, сроков изменения и т.д.), особенности использования которых можете узнать по ссылкам в комментариях. Я использую этот файл как есть, без дальнейших изменений.

Использование кеша браузера

Чтобы браузер сохранял уже загружаемые ресурсы (JS, изображения, вебшрифты) нужно в htaccess файле указать время хранения этих файлов. Вставьте в ваш .htaccess следующий код:

<IfModule mod_expires.c> ExpiresActive on # Perhaps better to whitelist expires rules? Perhaps. ExpiresDefault "access plus 1 month" # cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5) ExpiresByType text/cache-manifest "access plus 0 seconds" # your document html ExpiresByType text/html "access plus 0 seconds" # data ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" # rss feed ExpiresByType application/rss+xml "access plus 1 hour" # favicon (cannot be renamed) ExpiresByType image/x-icon "access plus 1 week" # media: images, video, audio ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" # webfonts ExpiresByType font/truetype "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType font/woff "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" # css and javascript ExpiresByType text/css "access plus 2 months" ExpiresByType application/javascript "access plus 2 months" ExpiresByType text/javascript "access plus 2 months" </IfModule>

Файл ROBOTS.TXT

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

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

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

User-agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /mgr/ Disallow: /connectors/ Disallow: /index.php Disallow: *? Host: site_name.ru Sitemap: http://site_name.ru/sitemap.xml

Не забудьте поменять site_name.ru на название своего основного хоста.

Голосов: 187 | Просмотров: 2191

proweb63.ru

Настройка ЧПУ и htaccess для MODX Revolution MODX

Частая ошибка! Для правильного отображения ссылок в head сайта нужно прописать базовый URL примерно вот так: <base href="http://modx.ws/"/>

Настройки сайта для формирования ЧПУ

Настройка ЧПУ в MODx Revolution

Использовать ЧПУ в MODx Revolution

.htaccess для MODX Revolution

Что такое .htaccess - говоря по-простому, то это файл, который содержит набор правил переименования запросов (URL) к вашему сайту. 

На что стоит обратить внимание в данном файле:

<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteBase / </IfModule>

оставляем без изменения, если используете поддиректорию subdirectory, то правило будет выглядеть так

<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteBase /subdirectory/ </IfModule>

Здесь, думаю, всё понятно.

для сайта без www

RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC] RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]

для сайта с www

RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC] RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]

Не используйте эти два правила одновременно!

 Установка основного домена

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Использование кеша браузера

Чтобы браузер сохранял уже загружаемые ресурсы (JS, изображения, вебшрифты) нужно в htaccess файле указать время хранения этих файлов. Вставьте в ваш .htaccess следующий код:

<IfModule mod_expires.c> ExpiresActive on # Perhaps better to whitelist expires rules? Perhaps. ExpiresDefault "access plus 1 month" # cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5) ExpiresByType text/cache-manifest "access plus 0 seconds" # your document html ExpiresByType text/html "access plus 0 seconds" # data ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" # rss feed ExpiresByType application/rss+xml "access plus 1 hour" # favicon (cannot be renamed) ExpiresByType image/x-icon "access plus 1 week" # media: images, video, audio ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" # webfonts ExpiresByType font/truetype "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType font/woff "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" # css and javascript ExpiresByType text/css "access plus 2 months" ExpiresByType application/javascript "access plus 2 months" ExpiresByType text/javascript "access plus 2 months" </IfModule>

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

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

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

User-agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /mgr/ Disallow: /connectors/ Disallow: /index.php Disallow: *? Host: modx.ws Sitemap: http://modx.ws/sitemap.xml

Не забудьте поменять modx.ws на название своего основного хоста.

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

modx.ws

Настройка ЧПУ (SEF) в MODX Revolution // Веб студия cat-Art

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

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

http://www.site.ru/index.php?id=5

А с ЧПУ так:

http://www.site.ru/kontakti

Подготовка перед настройкой ЧПУ:

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

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

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

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

3. Устанавливаем дополнение translit

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

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

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

Дружественные URL в Системных настройках

2. Устанавливаем значения параметров:

Устанавливаем значения параметров дружественных URL

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

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

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

Тут ставим «Да» у «Строгий метод запроса», чтобы ссылки работали только в SEF-виде и не открывались через index.php?id=5

Устанавливаем значения параметров дружественных URL

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

cat-art.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта