====== Файл .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-серверах]]