Добрый день.
Для этого надо использовать два .htaccess, один в корне проекта, второй в web.
В директории web(frontend и backend) достаточно такого .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
В корне проекта .htaccess должен быть следующего содержания:
RewriteEngine On
# End the processing, if a rewrite already occurred
#RewriteRule ^(frontend|backend)/web/ - [L]
# Handle the case of backend, skip ([S=1]) the following rule, if current matched
RewriteCond %{REQUEST_URI} ^/(name_folder/backend)
RewriteRule ^backend(/.*)?$ backend/web/$1 [L]
# handle the case of frontend
RewriteCond %{REQUEST_URI} ^/(name_folder)
RewriteRule ^(.*)$ frontend/web/$1 [L]
name_folder
- имя директории, если проект находится в поддиректории сайта.
p.s.
Кстати, забыл уточнить. У Вас basic шаблон или advanced? Примеры htaccess я привёл для advanced. А если у Вас basic, то решается через модули, как
Лентюй подсказал.
С модулями решается чуть иначе.