Вот ваши варианты:
- Переписать URL-адреса (используя ваш веб-сервер), который начинается с определенного идентификатора для отправки на загрузчик кода воспламенителей
- Переписать панель маршрутизации CI для настройкичтобы не запускаться с помощью начальной загрузки через глобальную область действия
- Использовать небольшой плагин MVC в Wordpress вместо CI
Я собираюсь охватить первый, потому что я думаю, что он делает большинствосмысл, если вы будете упрямы в том, чтобы придерживаться КИ.И я собираюсь дать вам некоторые доказательства концептуального кода с использованием Apache в качестве веб-сервера и mod_rewrite для достижения этой цели.
По сути, все, чего мы добьемся, - это ваш код, который вы нам показали, но вместо этого мы заставим apache сделать это за нас, заставив запускать CI, хотя он загружается в глобальном масштабе.
Все, что вам нужно сделать, это добавить больше правил в файл wordpress .htaccess
.Например:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#Here's the code which rewrites the url to your CI plugin.
RewriteRule ^CI/(?.*)$ wp-content/plugins/ci-plugin/index.php/$1 [QSA,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Теперь весь запрос к www.example.com/CI/...
будет передан в начальную загрузку CI через глобальную область видимости.