Вы должны иметь возможность создать папку на том же уровне, что и ваша «системная» папка CI, и там вы можете скопировать все файлы магазина. Затем вы просто получаете доступ к магазину через domain.com/shop/
Я не думаю, что вам нужно менять какие-либо правила маршрутизации или .htaccess, если у вас уже есть файл .htaccess по умолчанию, который удаляет index.php из URL-адресов CI. Я делаю это на нескольких сайтах, и он отлично работает.
РЕДАКТИРОВАТЬ: вот мой полный файл .htaccess для сайта, где это работает нормально
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
redirect 301 /disclaimer/disclaimer.html /disclaimer.html
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#special rule to allow the 301 redirect from above
RewriteCond %{REQUEST_URI} !disclaimer/disclaimer.html$
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
#####################################################
# CONFIGURE media caching
#
Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
Header unset Last-Modified
Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public, no-transform"
</FilesMatch>
#
#####################################################
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>