Я пытаюсь перенаправить любой или набор поддоменов в папку внутри папки «контроллеры» установки CI. Я пробовал кучу вещей, найденных здесь на SO, но никто не работает для моего проекта или не имеет тех же спецификаций, в которых я нуждаюсь. Поскольку я немного нуб, когда дело доходит до .htaccess, поэтому я решил, что могу просто попросить кого-нибудь более квалифицированного здесь. Вот спецификации:CodeIgniter - перенаправлять поддомены, установленные в папку в «контроллерах»
- с использованием this awesome .htaccess file в качестве основы
- нужно перенаправить по крайней мере, эти три подобласти (WWW | администратор | API) в/приложение/контроллеры/(WWW | администратор | API) эквивалентные папки
- без потери REQUEST_URI (просто говоря)
- и без фактического изменения URL в адресной строке
Пример: HTTP: // апи .domain.com/некоторые/URI/сегменты должны внутренне перенаправлять CI_installation_folder/приложение/контроллеры/API/некоторые// URI сегменты
Я пытался что-то вроде этого (и вариации):
RewriteCond %{HTTP_HOST} ^(www|admin|api) [NC]
RewriteRule ^(.*)$ /%1/$1 [L,R=301]
или заменить RewriteRule
с 2-мя другими линиями, как так:
RewriteCond %{ENV:REDIRECTED} !true
RewriteRule ^(.*)$ [L,R=301,E=REDIRECTED:true]
, чтобы предотвратить цикл, но все, что я могу получить это либо перекручивание редирект (первый случай) или эв ан ошибке 500 сервера на некоторых вариациях :(
Добавление этого
RewriteCond %{REQUEST_URI} !^/(www|admin|api) [NC]
также не будет работать, так как я не меняя URL в адресной строке. Я также не добился успеха с флагом [P].
Может ли кто-нибудь помочь? Благодаря!
Благодарим за быстрый ответ, но моя идея состояла в том, чтобы сделать это на самом низком возможном уровне. И если вы также учтете, что я не ваш средний «просто сделай это», парень, вы поймете, что это недействительное решение для меня: |. Я хочу что-то динамичное и удобное в обслуживании без необходимости повторять правила и маршруты и прочее. –
Итак, вы хотите, чтобы жизнь была легкой .... это очень хороший подход ... позвольте мне обновить свой ответ – Lupin
Этот подход немного чист :) И я мог бы быть немного слишком придирчивым, но когда я сказал Я хотел сделать это на самом низком уровне, возможно, я действительно выразил свое желание решить эту проблему, используя **. Htaccess redirect **, потому что производительность имеет значение в моем случае :) –