Wordpress установлен в корневом веб-каталоге:
/var/www/html/
CodeIgniter установлен в подкаталоге:
/var/www/html/ciapp/
Когда я получаю доступ http://www.mysite.com/ciapp/
доступ к главному контроллеру CI выполняется правильно.
Однако, если я попытаюсь напрямую получить доступ к своему основному контроллеру CI, вот так:
http://www.mysite.com/ciapp/main/
Я получаю 404-ю страницу Wordpress. Кроме того, если я попытаюсь получить доступ к функции своего основного контроллера следующим образом:
http://www.mysite.com/ciapp/main/myfunction/
Я тоже получаю ту же страницу 404.
Таким образом, Wordpress по умолчанию игнорирует каталог / ciapp /, но не игнорирует любые URL-запросы, которые добавляются к нему. Вот мой Wordpress .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Итак, какой тип RewriteCond мне нужно добавить в Wordpress .htaccess, чтобы он игнорировал каталог / ciapp / и все запросы URI, которые также используют этот каталог?
Я пробовал это:
RewriteCond %{REQUEST_URI} !^/?ciapp
Но, похоже, это не имело никакого эффекта.
если url == любой из них, НЕ используйте index.php для их обслуживания.
RewriteCond $1 !^(index\.php|css|img|forums|ciapp|robots\.txt)
иначе используйте index.php
RewriteRule ^(.*)$ index.php/$1 [L]
если url == ciapp / *, используйте ciapp / index.php для их сервера.
RewriteRule ^(.*/)?ciapp/(.*) /ciapp/index.php/$1 [L]