Все для создания и продвижения сайтов

Верстка, программирование, SEO

htaccess MODX

htaccess – файл конфигурации сервера, который содержит разные параметры и разрешения для файлов и каталогов сайта.

В MODX Revolution он нужен для настройки дружественных URL ,а также для безопасности сайта.

Создаётся он в корне сайта, назовите его .htaccess и поместите в него следующий код:

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

php_flag register_globals Off

#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary

php_flag apc.cache_by_default Off

SetEnv force-no-vary
SetEnv downgrade-1.0
AddDefaultCharset utf-8

Обратите внимание, что имя у файла пустое и оно имеет расширение .htaccess. Проверьте, чтобы была точка перед расширением.

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

Скачать

Теперь вы сможете сделать адекватные URL у вашего сайта.

htaccess для MODX даёт правильный url сайта

Для чего это нужно? Приведу простой пример. Допустим у вас есть статья: "Сайт на MODX".

По умолчанию у вас будет такой адрес:
"site/index.php?id=2".

После настройки вы сможете в автоматическом режиме получить:
"site/site-na-modx".

Сразу видно, где красивый URL. Для этого просто настройте дружественные URL и поставьте на него транслит.

Рассмотрим основные правила.

1. Если ваш сайт, как на всех серверах, лежит в папке "public_html", то примените к нему следующие правила:

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

Если ваш сайт находится в дочерней категории или располагается на домене третьего уровня, к примеру "dom", тогда пропишем:

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

2. Если в вашем адресе присутствует www:

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

Или без него:

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

Эти два правила не будут работать с друг другом!

Остальные параметры файла .htaccess в основном не требуется, для стандартного сайта вполне достаточно.

Читайте также о том, как в MODX revo легко создавать robots.txt в статье - robots.txt для MODX.

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.