Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{HTTP_HOST} tvtshop.ru$
RewriteRule ^robots.txt$ web/robots.txt [L]
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^fonts/(.*)$ web/fonts/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule ^upload/(.*)$ web/upload/$1 [L]
RewriteRule (.*) /web/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>
# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>
# использование кеша браузеров
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>
#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
#RewriteCond %{HTTP_HOST} !^www\.tvtshop\.ru$ [NC]
#RewriteRule ^(.*)$ http://www.tvtshop.ru/$1 [R=301,L]
'rules' => [
'<action:(contact|login|reg|sellerreg|profile|resetpassword|sendemail|verifyemail)>' => 'site/<action>',
'<action:(init)>' => 'rbac/<action>',
'seller/setting/<action:(shops|delivery|return|region|offices|domain|sity)>' => 'seller/setting/<action>',
'seller/products/<action:(search-user|getruller)>' => 'seller/products/<action>',
'seller/products/delete/<id:\d+>' => 'seller/products/delete',
'seller/productsparam/<action:(search-user)>' => 'seller/productsparam/<action>',
'/modules/seller/controllers/file/<action:(save|crop)>' => '/modules/seller/controllers/file/<action:(save|crop)>',
'shop_<shop_id:\d+>/<cat_alias:\w+>-for-<all:\w+>/page-<page:\d+>/display-<per-page:\d+>-records' => 'category/view',
'shop_<shop_id:\d+>/<cat_alias:\w+>-for-<all:\w+>/<page:\d+>' => 'category/view',
'shop_<shop_id:\d+>/<cat_alias:\w+>-for-<all:\w+>' => 'category/view',
'shop_<shop_id:\d+>/for-<all:\w+>/page-<page:\d+>/display-<per-page:\d+>-records' => 'category/view',
'shop_<shop_id:\d+>/for-<all:\w+>/page-<page:\d+>' => 'category/view',
'shop_<shop_id:\d+>/for-<all:\w+>' => 'category/view',
'shop_<shop_id:\d+>' => 'category/index',
'<cat_alias:\w+>-for-<all:\w+>/page-<page:\d+>/display-<per-page:\d+>-records' => 'category/view',
'<cat_alias:\w+>-for-<all:\w+>/<page:\d+>' => 'category/view',
'<cat_alias:\w+>-for-<all:\w+>' => 'category/view',
'for-<all:\w+>/page-<page:\d+>/display-<per-page:\d+>-records' => 'category/view',
'for-<all:\w+>/page-<page:\d+>' => 'category/view',
'for-<all:\w+>' => 'category/view',
'shop_<shop_id:\d+>/product-<product_alias:\w+>-for-<all:\w+>' => 'product/view',
'product-<product_alias:\w+>-for-<all:\w+>' => 'product/view',
'product-<product_alias:\w+>' => 'product/view',
'favorites' => 'favorites/view',
'favorites-shops' => 'favorites-shops/view',
'userparam/update/<id:\d+>' => 'userparam/update',
'user/param' => 'user/userparam/param',
'user/order' => 'user/userparam/order',
'search' => 'category/search',
'seller/products/<id:\d+>' => 'seller/products/view',
'seller/products/update/<product_id:\d+>' => 'seller/products/update',
'seller/products/delete/<id:\d+>' => 'seller/products/delete',
'seller/productsparam/view/<id:\d+>' => 'seller/productsparam/view',
'seller/productsparam/create/<product_id:\d+>' => 'seller/productsparam/create',
'seller/productsparam/update/<product_id:\d+>' => 'seller/productsparam/update',
'seller/receipt/<product_id:\d+>' => 'seller/receipt/view',
'seller/receipt/create/<product_id:\d+>' => 'seller/receipt/create',
'seller/receipt/update/<product_id:\d+>' => 'seller/receipt/update',
'seller/dynamicformdemo1/<id:\d+>' => 'seller/dynamicformdemo1/view',
'seller/provider/update/<id:\d+>' => 'seller/provider/update',
'seller/provider/view/<id:\d+>' => 'seller/provider/view',
'seller/provider/delete/<id:\d+>' => 'seller/provider/delete',
'cart/<shop_id:\d+>' => 'cart/view',
'sitemap.xml' => 'site/sitemap', //карта сайта
'yml-sitemap.xml' => 'site/yml-sitemap',
'robots.txt' => 'web/robots.txt',
]
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^fonts/(.*)$ web/fonts/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule ^upload/(.*)$ web/upload/$1 [L]
RewriteRule (.*) /web/$1
Это .htaccess не из web/, а из директории выше...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php