В этом разделе рассказывается о том, как вы можете изменить/настроить файл .htaccess в корне сайта. Этот файл необходим только, если вы используете Fancy URLs (ЧПУ), но может быть использован и для других целей.
Использовать или не использовать WWW
GetSimple CMS по умолчанию использует полный адрес сайта, указанный в настройках в поле "Основной URL сайта:"
Вы можете добавить этот код, чтобы никогда не использовать WWW:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.your-domen.ru$ [NC]
RewriteRule ^(.*)$ http://your-domen.ru/$1 [R=301,L]
Или, если вам бы хотелось всегда использовать WWW перед вашим доменом, вы можете добавить этот код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^your-domen.ru$ [NC]
RewriteRule ^(.*)$ http://www.your-domen.ru/$1 [R=301,L]
И в том и в другом случае нужно заменить your-domain.ru на свой домен.
Установка в подкаталог с сохранением ЧПУ относительно корня сайта
Установите GetSimple CMS в любой подкаталог, например /CMS/ с использованием стандартных процедур. В файле .htaccess, размещенном в корне вашего сайта замените строчку RewriteBase / на следующий код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^(.*)$ /cms/$1 [L]
После этого в настройках GetSimple CMS вам нужно будет заменить Основной URL сайта с http://ваш_домен/cms/ на http://ваш_домен/.
Конечно, вы должны заменить /CMS/ на имя вашего каталога, в который вы установили GetSimple CMS. Это позволит вашим пользователям перейти по адресу mydomain.com/contact-us вместо mydomain.com/cms/contact-us .
Оптимизация
Вместо использования плагинов кэширования для ускорения работы GetSimple CMS, вы можете попробовать добавить этот кусочек кода в нижней части файла .htaccess в корне вашего сайта. Этот код был опробован на сервере GetSimple CMS в течение последних нескольких месяцев и работает без каких-либо проблем. Вы можете смело копировать код, в вашем файле он будет разбит на строки.
# Enable GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</ifmodule>
# Expires Headers - 2678400s = 31 days
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType image/gif "access plus 2678400 seconds"
ExpiresByType image/jpeg "access plus 2678400 seconds"
ExpiresByType image/png "access plus 2678400 seconds"
ExpiresByType text/css "access plus 518400 seconds"
ExpiresByType text/javascript "access plus 2678400 seconds"
ExpiresByType application/x-javascript "access plus 2678400 seconds"
</ifmodule>
# Cache Headers
<ifmodule mod_headers.c>
# Cache specified files for 31 days
<filesmatch ".(ico|flv|jpg|jpeg|png|gif|css|swf)$">
Header set Cache-Control "max-age=2678400, public"
</filesmatch>
# Cache HTML files for a couple hours
<filesmatch ".(html|htm)$">
Header set Cache-Control "max-age=7200, private, must-revalidate"
</filesmatch>
# Cache PDFs for a day
<filesmatch ".(pdf)$">
Header set Cache-Control "max-age=86400, public"
</filesmatch>
# Cache Javascripts for 31 days
<filesmatch ".(js)$">
Header set Cache-Control "max-age=2678400, private"
</filesmatch>
</ifmodule>
Чтобы предотвратить кэширование страниц администратора, так как это может существенно мешать при редактировании страниц, вы можете добавить такой код:
<FilesMatch ".(php)$">
<IfModule mod_expires.c>
ExpiresActive Off
</IfModule>
<IfModule mod_headers.c>
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
</IfModule>
</FilesMatch>
.html вместо слэша (/)
Чтобы завершать адрес страницы .html, вместо слэша (/), вы должны включить Fancy URLs и в поле "Настройка ЧПУ:" ввести следующий код:
%slug%.html
или
%parent%/%slug%.html
А в корневом файле .htaccess заменить
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
на
RewriteRule ([A-Za-z0-9-]+).html index.php?id=$1 [QSA,L]
Вот, собственно, и все, некоторые плагины также предлагают вносить изменения в корневой файл .htaccess для поддержки ими ЧПУ.
Постраничный редирект
Иногда требуется редиректить отдельные страницы.
Пример кода для постраничного редиректа:
RewriteRule ^sertifikaciya/sertifikaciya-iso-13485/$ http://www.yourdomen.ru/sertifikaty-sootvetstviya-menedzhmenta-kachestva-iso/sertifikaciya-iso-13485/? [R=301,L]
RewriteRule ^sertifikaciya/iso-10012-2008-menedzhment-izmerenij/$ http://www.yourdomen.ru/sertifikaty-sootvetstviya-menedzhmenta-kachestva-iso/iso-10012-2008-menedzhment-izmerenij/? [R=301,L]
RewriteRule ^uslugi/nrs/$ http://www.yourdomen.ru/nrs/? [R=301,L]
RewriteRule ^uslugi/poluchit-bankovskuyu-garantiyu/$ http://www.yourdomen.ru/poluchit-bankovskuyu-garantiyu/? [R=301,L]
RewriteRule ^sro/stoimost-vstupleniya-v-chlenstvo-sro/$ http://www.yourdomen.ru/prajs/? [R=301,L]
RewriteRule ^uslugi/sro/$ http://www.yourdomen.ru/sro/? [R=301,L]
RewriteRule ^uslugi/sertifikaciya/$ http://www.yourdomen.ru/sertifikaciya/? [R=301,L]
RewriteRule ^uslugi/sertifikaciya-i-attestaciya-naks/$ http://www.yourdomen.ru/sertifikaciya-i-attestaciya-naks/? [R=301,L]
RewriteRule ^o-nas/novosti/$ http://www.yourdomen.ru/novosti/? [R=301,L]
RewriteRule ^o-nas/sotrudnichestvo/$ http://www.yourdomen.ru/sotrudnichestvo/? [R=301,L]
RewriteRule ^o-nas/garantii/$ http://www.yourdomen.ru/garantii/? [R=301,L]
RewriteRule ^uslugi/akkreditaciya-i-attestaciya-laboratorij/$ http://www.yourdomen.ru/akkreditaciya-i-attestaciya-laboratorij/? [R=301,L]