Способы оплаты Abuse

Файлы htaccess для популярных CMS

14.11.2024, 23:23

Файл .htaccess (Hypertext Access) — это конфигурационный файл, используемый на веб-серверах. Он позволяет управлять настройками сервера для конкретного каталога и его подкаталогов, без необходимости изменять основной конфигурационный файл сервера.

Основные функции файла .htaccess

файла .htaccess

  1. Перенаправления: позволяет настраивать перенаправления URL, например, с одного адреса на другой (301 redirect).
  2. Настройка доступа: можно ограничить доступ к определённым файлам или каталогам, используя базовую аутентификацию или IP-фильтрацию.
  3. Настройка URL: позволяет создавать "дружественные" URL-адреса с помощью модулей, таких как mod_rewrite, что улучшает SEO.
  4. Кэширование: настройка кэширования статических файлов для ускорения загрузки страниц.
  5. Управление ошибками: можно настроить пользовательские страницы ошибок, такие как 404 (Not Found) или 500 (Internal Server Error).
  6. Модификация заголовков: позволяет добавлять или изменять HTTP-заголовки, что может быть полезно для безопасности и кэширования.

Пример использования

Вот простой пример файла .htaccess, который устанавливает перенаправление с http://example.com/old-page на http://example.com/new-page:

Redirect 301 /old-page http://example.com/new-page

Важно помнить

  • Файл .htaccess может замедлить работу сервера, если используется неправильно, так как сервер проверяет наличие этого файла при каждом запросе.
  • Не все серверы поддерживают .htaccess. Он работает только на серверах Apache или на серверах, которые его эмулируют.
  • Изменения в файле .htaccess могут повлиять на работу всего сайта, поэтому следует быть осторожным при редактировании этого файла.
  • Использование .htaccess предоставляет мощные возможности для управления поведением веб-сайта, но требует аккуратности и понимания его работы.

Стандартные файлы .htaccess для популярных CMS

Ниже будут приведены стандартные файлы .htaccess для наиболее популярных CMS. Файл .htaccess находится в корневой папке сайта.

Файл .htaccess для Joomla

# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $ 
# @package Joomla 
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. 
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL 
# Joomla! is Free Software 
##################################################### 
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE 
# 
# The line just below this section: 'Options +FollowSymLinks' may cause problems 
# with some server configurations. It is required for use of mod_rewrite, but may already 
# be set by your server administrator in a way that dissallows changing it in 
# your .htaccess file. If using it causes your server to error out, comment it out (add # to 
# beginning of line), reload your site in your browser and test your sef url's. If they work, 
# it has been set by your server administrator and you do not need it set here. 
##################################################### 
## Can be commented out if causes errors, see notes above. 
Options +FollowSymLinks 
# mod_rewrite in use 
RewriteEngine On 
########## Begin - Rewrite rules to block out some common exploits 
## If you experience problems on your site block out the operations listed below 
## This attempts to block the most common type of exploit `attempts` to Joomla! 
# 
## Deny access to extension xml files (uncomment out to activate) 
#<Files ~ "\.xml$"> 
#Order allow,deny 
#Deny from all 
#Satisfy all 
#</Files> 
## End of deny access to extension xml files 
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] 
# Block out any script trying to base64_encode crap to send via URL 
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] 
# Block out any script that includes a <script> tag in URL 
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] 
# Block out any script trying to set a PHP GLOBALS variable via URL 
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
# Block out any script trying to modify a _REQUEST variable via URL 
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
# Send all blocked request to homepage with 403 Forbidden error! 
RewriteRule ^(.*)$ index.php [F,L] 
########## End - Rewrite rules to block out some common exploits 
# Uncomment following line if your webserver's URL 
# is not directly related to physical file paths. 
# Update Your Joomla! Directory (just / for root) 
# RewriteBase / 
########## Begin - Joomla! core SEF Section 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] 
RewriteRule (.*) index.php 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 
# 
########## End - Joomla! core SEF Section

Файл .htaccess для Wordpress

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress

Файл .htaccess для HostCMS

Options +FollowSymlinks 
AddDefaultCharset Off 
<IfModule mod_php4.c> 
php_flag magic_quotes_gpc off 
php_flag magic_quotes_runtime off 
php_flag register_globals off 
</IfModule> 
<IfModule mod_php5.c> 
php_flag magic_quotes_gpc off 
php_flag magic_quotes_runtime off 
php_flag register_globals off 
</IfModule> 
<IfModule mod_dir.c> 
DirectoryIndex index.php index.htm index.html 
</IfModule> 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php 
</IfModule> 

Файл .htaccess для Bitrix

ErrorDocument 404 /404.php 
<IfModule mod_php5.c> 
php_flag allow_call_time_pass_reference 1 
php_flag session.use_trans_sid off 
#php_value display_errors 1 
#php_value mbstring.func_overload 2 
#php_value mbstring.internal_encoding UTF-8 
</IfModule> 
<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ 
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] 
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}] 
</IfModule> 
<IfModule mod_dir.c> 
DirectoryIndex index.php index.html 
</IfModule> 
<IfModule mod_expires.c> 
ExpiresActive on 
ExpiresByType image/jpeg "access plus 3 day" 
ExpiresByType image/gif "access plus 3 day" 
</IfModule> 

Файл .htaccess для Modx

# MODx supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
# Make sure RewriteBase points to the directory where you installed MODx.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
RewriteEngine On
RewriteBase /
# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
#RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
# or for the opposite domain.com -> www.domain.com use the following
# DO NOT USE BOTH
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]
# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example-domain-please-change.com.com/$1 [R=301,L]
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# Make sure .htc files are served with the proper MIME type, which is critical # for XP SP2. Un-comment if your host allows htaccess MIME type overrides.  
#AddType text/x-component .htc
# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site 
# scripting) attacks. For more information: http://php.net/register_globals 
# To verify that this option has been set to OFF, open the Manager and choose 
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page 
# for "register_globals". The Local Value should be OFF. If the Master Value 
# is OFF then you do not need this directive here. 
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS : 
# Your server does not allow PHP directives to be set via .htaccess. In that 
# case you must make this change in your php.ini file instead. If you are 
# using a commercial web host, contact the administrators for assistance in 
# doing this. Not all servers allow local php.ini files, and they should 
# include all PHP configurations (not just this one), or you will effectively 
# reset everything to PHP defaults. Consult www.php.net for more detailed 
# information about setting PHP directives.
#php_flag register_globals Off
# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.
#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5 
# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.
#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary 

Файл .htaccess для Drupal

# Apache/PHP/Drupal settings: 
# Protect files and directories from prying eyes. 
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$"> 
Order allow,deny 
</FilesMatch> 
# Don't show directory listings for URLs which map to a directory. 
Options -Indexes 
# Follow symbolic links in this directory. 
Options +FollowSymLinks 
# Make Drupal handle any 404 errors. 
ErrorDocument 404 /index.php 
# Force simple error message for requests for non-existent favicon.ico. 
<Files favicon.ico> 
# There is no end quote below, for compatibility with Apache 1.3. 
ErrorDocument 404 "The requested file favicon.ico was not found. 
</Files> 
# Set the default handler. 
DirectoryIndex index.php index.html index.htm 
# Override PHP settings that cannot be changed at runtime. See 
# sites/default/default.settings.php and drupal_initialize_variables() in 
# includes/bootstrap.inc for settings that can be changed at runtime. 
# PHP 5, Apache 1 and 2. 
<IfModule mod_php5.c> 
php_flag magic_quotes_gpc off 
php_flag magic_quotes_sybase off 
php_flag register_globals off 
php_flag session.auto_start off 
php_value mbstring.http_input pass 
php_value mbstring.http_output pass 
php_flag mbstring.encoding_translation off 
</IfModule> 
# Requires mod_expires to be enabled. 
<IfModule mod_expires.c> 
# Enable expirations. 
ExpiresActive On 
# Cache all files for 2 weeks after access (A). 
ExpiresDefault A1209600 
<FilesMatch \.php$> 
# Do not allow PHP scripts to be cached unless they explicitly send cache 
# headers themselves. Otherwise all scripts would have to overwrite the 
# headers set by mod_expires if they want another caching behavior. This may 
# fail if an error occurs early in the bootstrap process, and it may cause 
# problems if a non-Drupal PHP file is installed in a subdirectory. 
ExpiresActive Off 
</FilesMatch> 
</IfModule> 
# Various rewrite rules. 
<IfModule mod_rewrite.c> 
RewriteEngine on 
# Block access to "hidden" directories whose names begin with a period. This 
# includes directories used by version control systems such as Subversion or 
# Git to store control files. Files whose names begin with a period, as well 
# as the control files used by CVS, are protected by the FilesMatch directive 
# above. 
# NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is 
# not possible to block access to entire directories from .htaccess, because 
# <DirectoryMatch> is not allowed here. 
# If you do not have mod_rewrite installed, you should remove these 
# directories from your webroot or otherwise protect them from being 
# downloaded. 
RewriteRule "(^|/)\." - [F] 
# If your site can be accessed both with and without the 'www.' prefix, you 
# can use one of the following settings to redirect users to your preferred 
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option: 
# To redirect all users to access the site WITH the 'www.' prefix, 
# (http://example.com/... will be redirected to http://www.example.com/...) 
# uncomment the following: 
# RewriteCond %{HTTP_HOST} !^www\. [NC] 
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
# To redirect all users to access the site WITHOUT the 'www.' prefix, 
# (http://www.example.com/... will be redirected to http://example.com/...) 
# uncomment the following: 
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
# RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301] 
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a 
# VirtualDocumentRoot and the rewrite rules are not working properly. 
# For example if your site is at http://example.com/drupal uncomment and 
# modify the following line: 
# RewriteBase /drupal 
# If your site is running in a VirtualDocumentRoot at http://example.com/, 
# uncomment the following line: 
# RewriteBase / 
# Pass all requests not referring directly to files in the filesystem to 
# index.php. Clean URLs are handled in drupal_environment_initialize(). 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^ index.php [L] 
# Rules to correctly serve gzip compressed CSS and JS files. 
# Requires both mod_rewrite and mod_headers to be enabled. 
<IfModule mod_headers.c> 
# Serve gzip compressed CSS files if they exist and the client accepts gzip. 
RewriteCond %{HTTP:Accept-encoding} gzip 
RewriteCond %{REQUEST_FILENAME}\.gz -s 
RewriteRule ^(.*)\.css $1\.css\.gz [QSA] 
# Serve gzip compressed JS files if they exist and the client accepts gzip. 
RewriteCond %{HTTP:Accept-encoding} gzip 
RewriteCond %{REQUEST_FILENAME}\.gz -s 
RewriteRule ^(.*)\.js $1\.js\.gz [QSA] 
# Serve correct content types, and prevent mod_deflate double gzip. 
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1] 
RewriteRule \.js\.gz$ - [T=text/jаvascript,E=no-gzip:1] 
<FilesMatch "(\.js\.gz|\.css\.gz)$"> 
# Serve correct encoding type. 
Header append Content-Encoding gzip 
# Force proxies to cache gzipped & non-gzipped css/js files separately. 
Header append Vary Accept-Encoding 
</FilesMatch> 
</IfModule> 
</IfModule> 

Файл .htaccess для Netcat

 ]AddDefaultCharset windows-1251 
ErrorDocument 404 /netcat/require/e404.php 
<ifModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.+)$ /netcat/require/e404.php?REQUEST_URI=$1 [L,QSA] 
</ifModule> 

Файл .htaccess для DLE

DirectoryIndex index.php 
RewriteEngine On 
RewriteBase /
	 # Редиректы
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
 # Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]  
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]  
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]  
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]  
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]  
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]  
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]  
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]  
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]  
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]  
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]  
RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1&seourl=$2 [L]  
 # За день
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]  
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L] 
 # За весь месяц
RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]  
RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L] 
 # Вывод за весь год
RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L] 
RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
 # вывод отдельному тегу
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L] 
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
# вывод для отдельного юзера
RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L] 
RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L] 
RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L] 
RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L] 
RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
 # вывод всех последних новостей
RewriteRule ^lastnews/(/?)+$ index.php?do=lastnews [L]  
RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
 # вывод в виде каталога
RewriteRule ^catalog/([^/]*)/rss.xml$ engine/rss.php?catalog=$1 [L]  
RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]  
RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
# вывод непрочитанных статей
RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L] 
RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L] 
RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]
RewriteRule ^rules.html$ index.php?do=rules [L]
RewriteRule ^statistics.html$ index.php?do=stats [L]
RewriteRule ^addnews.html$ index.php?do=addnews [L]
RewriteRule ^rss.xml$ engine/rss.php [L]
RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^.]+)/page/([0-9]+)/$ index.php?do=cat&category=$1&cstart=$2 [L] 
RewriteRule ^([^.]+)/$ index.php?do=cat&category=$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^.]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
RewriteRule ^print:([^/]+).html$ engine/print.php?do=static&page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

Файл .htaccess для Opencart

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Файл .htaccess для Webasyst

<FilesMatch "\.md5$">
Deny from all
</FilesMatch>
DirectoryIndex index.php
Options -Indexes
# Comment the following line, if option Multiviews not allowed here
Options -MultiViews
AddDefaultCharset utf-8
<ifModule mod_rewrite.c>
RewriteEngine On
# Uncomment the following line, if you are having trouble
RewriteBase /
RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png|svg|ttf|eot|otf|woff|woff2)$ [or]
RewriteCond %{REQUEST_URI} apple-touch-icon\.png$ [or]
RewriteCond %{REQUEST_METHOD} ^(POST|PUT|COPY|MOVE|DELETE|PROPFIND|OPTIONS|MKCOL)$ [or]
RewriteCond %{HTTP:Translate} ^.+$ [or]
RewriteCond %{HTTP_USER_AGENT} ^(DavClnt|litmus|gvfs|davfs|wdfs|WebDAV|cadaver|Cyberduck)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
</ifModule>
<ifModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|js|css|svg|ttf|eot|otf|woff|woff2)$">
Header set Cache-Control "max-age=3153600, public"
</FilesMatch>
</ifModule>

Файл .htaccess для LiveStreet

AddDefaultCharset UTF-8
Options -Indexes
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
# Alternative rule
#RewriteRule ^(.*)$ /index.php
<Files "plugins.dat">
order allow,deny
deny from all
</Files>

Файл .htaccess для PrestaShop

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

Файл .htaccess для Moodle

DirectoryIndex index.php index.html index.htm
php_value memory_limit 40M (adjust to your version of Moodle)
php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0