о нет, для этого вам не нужен htaccess, просто используйте маршруты CI.Сначала измените ваш HTACESS следующим образом:
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
Этот способ намного лучше, и вам никогда не придется менять его ни на что, кроме папок img или чего-то другого, просто оставьте его чистым.теперь для вашего вопроса.
открыть маршруты php в папке Application-> config.
Теперь в CI все файлы по умолчанию направляются через index.php, поэтому я предполагаю, что вы все равно имеете в виду ваш контроллер по умолчанию для маршрутизации "контроллеров"как в вашем случае special назад на главный сайт, просто сделайте это:
если ваш контроллер по умолчанию все еще "приветствуется" во время загрузки, вы бы написали маршрут следующим образом:
$route['special/(:any)'] = "welcome";
Ваш URL не изменится, и все будет идеально
НО НЕ ОСТАНАВЛИВАЙТЕСЬ, ЧТОБЫ УБЕДИТЬСЯ .
это то, как будут выглядеть ваши маршруты после того, как вы закончите:
//these two are for CI
$route['default_controller'] = "welcome";
$route['scaffolding_trigger'] = "";
//this is your route sending all and any traffic for special
//no matter how many levels it will always go to welcome->index.
$route['special/(:any)'] = "welcome";
//if you want to use sub-pages or other functions within your welcome controller
//i.e. welcome->signup. then just send the route information to the controller like this:
$route['special/(:any)'] = "welcome/$1";
Класс маршрутизации в php очень мощный, и это только часть для более подробной информации о маршрутизации.страница:
Руководство пользователя CodeIgniter -> URI Routing
Надеюсь, я вас не смутил больше.Удачи