В этом разделе рассказывается о том, как вы можете изменить/настроить файл .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]

 

Обновлено 27 октября 2024

Количество просмотров страницы: 49

Время загрузки страницы 0.1069 секунды


Поделитесь с друзьями

Share with friends

Файлы cookie помогают нам улучшать качество предлагаемых интернет-пользователям услуг. Оставаясь на сайте, вы соглашаетесь на использование нами файлов cookie.

ПринятьПодробнее

Предлагаю всем людям, заинтересованным в развитии GetSimple CMS, продвигать этот сайт всеми доступными вам способами.