diff --git a/.htaccess b/.htaccess index 69dc843..a672877 100755 --- a/.htaccess +++ b/.htaccess @@ -1,100 +1,36 @@ +Options FollowSymLinks AddDefaultCharset utf-8 - - - - Options +FollowSymlinks - - RewriteEngine On - - + RewriteEngine On - RewriteBase / - # deal with admin first - - - - RewriteRule ^storage/(.*)?$ /storage/$1 [L,PT] - - RewriteCond %{REQUEST_URI} ^/(admin) - - - - RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L] - - RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L] - - RewriteRule ^admin/js/(.*)$ backend/web/js/$1 [L] - - RewriteRule ^admin/images/(.*)$ backend/web/images/$1 [L] - - RewriteRule ^admin/fonts/(.*)$ backend/web/fonts/$1 [L] - - - - - - RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css|js|images|fonts)/ - - RewriteCond %{REQUEST_URI} ^/(admin) - - RewriteRule ^.*$ backend/web/index.php [L] - - - RewriteCond %{REQUEST_URI} ^/(assets|css) - - RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L] - - RewriteRule ^css/(.*)$ frontend/web/css/$1 [L] - - RewriteRule ^js/(.*)$ frontend/web/js/$1 [L] - - RewriteRule ^images/(.*)$ frontend/web/images/$1 [L] - - RewriteRule ^libraries/(.*)$ frontend/web/libraries/$1 [L] - - RewriteRule ^img/(.*)$ frontend/web/img/$1 [L] - - RewriteRule ^files/(.*)$ frontend/web/files/$1 [L] - - RewriteRule ^fonts/(.*)$ frontend/web/fonts/$1 [L] - - RewriteRule ^contacts/(.*)$ frontend/web/contacts/$1 [L] - - RewriteRule robots.txt$ frontend/web/robots.txt [L] - - RewriteRule feed\.csv$ frontend/web/feed.csv [L] - - RewriteRule sitemap(\d*)\.xml$ frontend/web/sitemap$1.xml [L] - - RewriteRule hotline\.xml$ frontend/web/hotline.xml [L] - - RewriteRule yaml\.xml$ frontend/web/yaml.xml [L] - - RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|txt|js|images|fonts|img|files|contacts)/ - - RewriteCond %{REQUEST_URI} !index.php + # the main rewrite rule for the frontend application + RewriteCond %{REQUEST_URI} !^/(backend/web|admin) + RewriteRule !^frontend/web /frontend/web%{REQUEST_URI} [L] - RewriteCond %{REQUEST_FILENAME} !-f [OR] + # redirect to the page without a trailing slash (uncomment if necessary) + #RewriteCond %{REQUEST_URI} ^/admin/$ + #RewriteRule ^(admin)/ /$1 [L,R=301] + # the main rewrite rule for the backend application + RewriteCond %{REQUEST_URI} ^/admin + RewriteRule ^admin(.*) /backend/web/$1 [L] + # if a directory or a file of the frontend application exists, use the request directly + RewriteCond %{REQUEST_URI} ^/frontend/web + RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d + # otherwise forward the request to index.php + RewriteRule . /frontend/web/index.php [L] - RewriteCond %{HTTP_HOST} ^www\.(.*) - RewriteRule ^(.*)$ frontend/web/index.php - - - RewriteCond %{HTTP_HOST} ^([^www].*)$ - RewriteRule (.*) http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - - RewriteCond %{THE_REQUEST} \s/+(.+?)/+[?\s] - RewriteRule /$ /%1 [R,L] - - - - RewriteCond %{HTTP_HOST} ^([^www].*)$ - RewriteRule ^(.*)$ http://www.%1/$1 [R=301] + # if a directory or a file of the backend application exists, use the request directly + RewriteCond %{REQUEST_URI} ^/backend/web + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + # otherwise forward the request to index.php + RewriteRule . /backend/web/index.php [L] + RewriteCond %{REQUEST_URI} \.(htaccess|htpasswd|svn|git) + RewriteRule \.(htaccess|htpasswd|svn|git) - [F] #для возможности загрузки файлов парсера -- libgit2 0.21.4