====== Файл .htaccess ======
В этой секции обсуждаются некоторые вопросы тонкой настройки главного файла ''.htaccess'' вашего сайта. Эти настройки в основном используются, если на сайте включены [[ru:pretty_urls|ЧПУ]], но существуют и другие области их применения.
===== htaccess с www / без www =====
По умолчанию, GetSimple не имеет настроек, предписывающих наличие или отсутствие www в основном URL сайта в секции **Настройки** сайта в административной панели. Для того, чтобы в вашем URL **не было** префикса **www**, добавьте следующую инструкцию в ваш ''.htaccess-файл'':
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
Наоборот, если вы предпочитаете, чтобы ваш URL был всегда **с www**, используйте следующие инструкции:
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
Этот код должен включаться в файл ниже строки RewriteBase, но выше строки **RewriteCond %{REQUEST_FILENAME} !-f**. Дополнительную информацию можно почерпнуть [[http://get-simple.info/forum/topic/286/force-or-nowww-code-for-htaccess/|в этом посте]] (на английском).
===== ЧПУ относительно корневого каталога сайта при установке GS в подпапку =====
При установке GetSimple в поддиректорию, скажем, …/cms/, следуйте обычной процедуре. После завершения установки необходимо создать или отредактировать существующий файл .htaccess в корневой директории вашего сервера, включив в него следующие команды:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^(.*)$ /cms/$1 [L]
Разумеется, в приведенном примере следует заменить “cms” на реальное имя подпапки, в которую вы только что установили систему. В результате URL страницы с адресом mydomain.com/cms/contact-us будет отдаваться пользователям с URL как mydomain.com/contact-us.
При редактировании уже установленной системы обязательно измените значение поля **Основной URL сайта** в секции административной панели **Настройки** на соответствующий, чтобы ссылки меню использовали новый основной адрес при формировании меню.
===== Оптимизация =====
Вместо плагина, управляющего процессом кэширования, и, соответственно, повышающего скорость работы вашего сайта на GetSimple, можно добавить в конец .htaccess-файла корневого уровня приведенный ниже код. Отметим, что он работает уже много месяцев на сайте get-simple.info, не вызывая никаких проблем.
# Enable GZIP
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
# Expires Headers - 2678400s = 31 days
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"
# Cache Headers
# Cache specified files for 31 days
Header set Cache-Control "max-age=2678400, public"
# Cache HTML files for a couple hours
Header set Cache-Control "max-age=7200, private, must-revalidate"
# Cache PDFs for a day
Header set Cache-Control "max-age=86400, public"
# Cache Javascripts for 31 days
Header set Cache-Control "max-age=2678400, private"
Разработчики благодарят [[http://daverupert.com/2010/06/web-performant-wordpress|Dave Rupert]] за этот код, первоначально написанный для WordPress.
В зависимости от ваших настроек, если вы не хотите, чтобы страницы административной панели, а также редактируемые страницы кэшировались, можно добавить в файл следующий код:
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
===== .html вместо слэша (/) =====
Если вы хотите, чтобы ваши URL заканчивались расширением .html (при включенном mod_rewrite), а не косой чертой, прочитайте на форуме GS следующие два поста (на английском)
- http://get-simple.info/forum/post/19253/#p19253
- http://get-simple.info/forum/post/7918/#p7918
==== Проще говоря ====
Во-первых, измените значение поля **Настройка ЧПУ** в настройках сайта в секции **Настройки** на:
%slug%.html
или
%parent%/%slug%.html
Во-вторых, отредактируйте ваш .htaccess-file:
вместо
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
вставьте:
RewriteRule ([A-Za-z0-9-]+).html index.php?id=$1 [QSA,L]
====== Ссылки ======
На главную [[ru:|Содержание]]
===== Страницы этой секции =====
=== Дополнительная информация по системе ===
*[[ru:debugging|Режим отладки]]
*[[ru:how_to:change_admin_password_salted|Дополнительная защита административного пароля с помощью уникального модификатора (salt)]]
*[[ru:config:caching-function|Кэш-функции и индексный файл pages.xml]]
*[[ru:config:gsconfig|Файл конфигурации системы gsconfig.php]]
*[[ru:how_to:svn|Доступ к SVN]]
*[[ru:security:csrf|Защита от CSRF (Подделка межсайтовых запросов)]]
*[[ru:security:https-ssl|GetSimple и HTTPS/SSL]]
*[[ru:lighttpd_permalinks|Настройка структуры постоянных ссылок (ЧПУ) на Lighttpd-серверах]]