Для правільнага адлюстравання спасылак у head сайта трэба прапісаць базавы URL прыкладна вось так: <base href = "https://modx.ws/" />
Налады сайта для фарміравання ЧПУ
- Заходзім у Сістэмныя налады (System settings) і выбіраем Friendly URLs ў фільтры злева.
- Ставім "не" у аўтаматычную генерацыю ЧПУ (Automatic alias - No) і "Так" ў выкарыстоўваць ЧПУ (friendly_urls - Yes), "Так" у Выкарыстоўваць ЧПУ ў шляхах псеўданімаў (use_alias_path - Yes)
- Для аўтаматычнай генерацыі псеўданімаў (аліасы) з рускага (або іншай мовы) у псеўданім, якія складаюцца з лацінскіх літар, усталёўваем дадатак Translit http://modx.com/extras/package/translit
- Спампоўваем з гитхаба апошнюю версію .htaccess для MODx Revolution па гэтай спасылцы
- Пераназываем ў .htaccess гэты файл і заліваем на хостынг у каранёвую тэчку. Папярэдне трэба ўнесці ў гэты файл некаторыя змены (гл. Ніжэй).
.htaccess для MODX Revolution
Што такое .htaccess - кажучы па-простаму, то гэта файл, які змяшчае набор правілаў перайменавання запытаў (URL) да вашага сайту.
На што варта звярнуць увагу ў дадзеным файле:
- Калі ваша 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>
Тут, думаю, усё зразумела.
- Ваш сайт можа мець толькі адно імя 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]
для сайта з 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]
Не выкарыстоўвайце гэтыя два правілы адначасова!
- Пасля таго, як вы паказалі правіла для асноўнага дамена, пажадана паказаць для Google які ваш дамен з'яўляецца асноўным. Панэль Google для вэб-майстроў
- Непасрэдна само правіла перазапісу URL у ЧПУ змяшчаецца ў наступных радках:
RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule ^ (. *) $ Index.php? Q = $ 1 [L, QSA]
- Далей у файле .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 (can not 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: https://modx.ws/sitemap.xml
Не забудзьцеся памяняць modx.ws на назву свайго асноўнага хаста.
Як звычайна - не саромейцеся задаваць ўнізе вашы пытанні. Буду рады любым заўвагам і каментарах.
Php?C> ExpiresActive on # Perhaps better to whitelist expires rules?
Php Disallow: *?