Я установил 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>