У меня есть стандартный .htaccess RewriteRule, который молча переписывает любой запрос на webroot во вложенную папку, содержащую установку MantisBT. Таким образом, пользователь вводит «example.com», и мой сервер тайно предоставляет им файлы из «example.com/path/to/mantisbt».
Теперь проблема заключается в том, что индексная страница MantisBT немедленно выполняет некоторую логическую маршрутизацию на основе аутентификации и отправляет перенаправление 302 на ПОЛНЫЙ «example.com/path/to/mantis/login», что подрывает мою переписку. Я пытаюсь предоставить всем доступ к моей установке MantisBT, как если бы она находилась в корневом каталоге.
Теперь я знаю, что после перенаправления 302 MantisBT на полный путь я могу перенаправить их СНОВА обратно в webroot. Но перенаправлять людей дважды каждый раз, когда MantisBT выполняет какую-то логику маршрутизации, кажется грязным взломом. Я также знаю, что могу взломать код MantisBT, но я ненавижу переделывать код каждый раз, когда выходит новая версия.
Итак, есть ли способ обмануть MantisBT (или любое другое приложение, если на то пошло), заставив его думать, что он находится в корне, и, следовательно, создавать пути перенаправления на основе URL-адреса, относящегося к веб-корню? Например: «example.com/login» вместо «example.com/path/to/mantis/login».
Я бы предпочел решить эту проблему с помощью метода Apache .htaccess или изменения httpd.conf. Возможно, DocumentRoot или RewriteBase?