Как настроить файл htaccess
Использовать или не использовать WWW
Вы можете добавить этот код, чтобы никогда не использовать WWW:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.your-domen\.ru$ [NC]
RewriteRule ^(.*)$ https://your-domen.ru/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.your-domen\.ru$ [NC]
RewriteRule ^(.*)$ https://your-domen.ru/$1 [R=301,L]
Или, если вам бы хотелось всегда использовать WWW перед вашим доменом, вы можете добавить этот код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^your-domen\.ru$ [NC]
RewriteRule ^(.*)$ https://www.your-domen.ru/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^your-domen\.ru$ [NC]
RewriteRule ^(.*)$ https://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]
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^(.*)$ /cms/$1 [L]
После этого в настройках GetSimple CMS вам нужно будет заменить Основной URL сайта с https://ваш_домен/cms/ на https://ваш_домен/.
Конечно, вы должны заменить /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>
<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>
<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>