Я установил WordPress в example.com. Я также установил CodeIgniter в папке ci здесь example.com/ci/, ci - это имя папки, register - имя контроллера, а рабочий URL-адрес CI - example.com/ci/register. Мой базовый URL начинается с https://.
Теперь у меня есть один URL-адрес WordPress example.com/hotel, hotel - это страница, которую я создал в администраторе WordPress, она отлично работает.
Я хочу запустить мой CI-путь, как example.com/hotel/ci/register, я думаю, мы можем сделать это с некоторым правилом перезаписи, чтобы мой URL-адрес выглядел бы как example.com/hotel/ci/register. Я добавил для htaccess, что перенаправляет меня сюда example.com/hotel/ci/register. Он показывает мне 404 error CI. Это означает, что я сейчас в КИ. Теперь я выполнил следующие действия в файле routes.php.
$route['default_controller'] = 'register';
$route['404_override'] = 'register';
Теперь этот URL example.com/hotel/ci/register работает, но это не правильно, в следующий раз будет больше контроллеров, тогда он не будет работать.
Примечание. Я не могу создать папку hotel, потому что отель - это страница в WordPress. Если я создам папку hotel, то WordPress URL example.com/hotel/не будет работать. Он перенаправит страницу WordPress в папку hotel. Поэтому я должен сделать это, не создавая папку hotel. Примечание example.com = myurl.com.
Мне нужно найти еще одно хорошее решение. Было бы очень полезно посоветоваться или руководствоваться.
Следующее мое правило reWrite в wordpress htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/?hotel/ci/register(/.*)?$ /ci/$1 [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
И вот мой CI htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>