Хобрук: Ваш путь к мастерству в программировании

Сервер Apache RewriteRule to Tomcat war - удалить имя приложения из URL-адреса

У меня проблемы с RewriteRule. Мое приложение tomcat — Xyz, и оно находится в своей папке на локальном хосте. Имя сервера www.mydomain.com. Приложение может быть доступно с www.mydomain.com/Xyz, но я хотел бы связаться с ним с www.mydomain.com. Можно ли добиться этого с помощью RewriteRule?

Я использую JkMount в файле конфигурации Apache:

JkMount /Xyz worker1
JkMount /Xyz/* worker1

где worker1 является членом worker, определяемым как:

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.lbfactor=1

Я попытался добавить в файл конфигурации Apache RewriteRule непосредственно перед JkMount:

ServerName www.mydomain.com
RewriteEngine on
RewriteRule ^/(.+)$ /Xyz/$1 [L,PT]

но безуспешно. Приложение может быть легко доступно с www.mydomain.com/Xyz, но www.mydomain.com вообще не работает. он просто выдает сообщение об ошибке...

Какие-либо предложения?


Ответы:


1

Если вы не хотите использовать перезапись URL, вы можете добиться того же, определив контекст ROOT.

Подробная документация по Tomcat Context здесь

[Примечание: не пробовал, сделаю позже] Я предлагаю вам переместить приложение перемещения в каталог за пределами вашего /webapps, например. /myapps/xyz/; а затем добавьте файл для определения контекста вашего приложения (для Tomcat 7)

$CATALINA_HOME$/conf/Catalina/localhost/ROOT.xml 

для предыдущей версии Tomcat, вероятно, что-то вроде:

$CATALINA_HOME$/conf/ROOT.xml 

В ROOT.xml укажите, где находится корень вашего приложения (docBase), и оставьте элемент пути пустым.

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <Context deployOnStartup="true" docBase="/myapps/xyz/" path="" reloadable="false">
    <Manager pathname=""/>
</Context>

Похожие посты здесь

Сречно

12.12.2015
Новые материалы

Блоги, которые обязательно нужно прочитать специалистам по обработке и анализу данных :
Добро пожаловать в 2020! Новый год и новое десятилетие. Поскольку мы начинаем новый и захватывающий год в науке о данных, важно, чтобы профессионалы открыли для себя лучшие блоги по науке о..

Универсальный базовый доход
Универсальный базовый доход В последние годы концепция всеобщего базового дохода (УБД) набирает обороты как все более эффективное решение для борьбы с растущим неравенством доходов и..

Освоение Python для анализа финансовых данных: руководство по получению данных о доходах от акций
Если вы хотите научиться получать данные о доходах от акций с помощью Python, то это руководство для вас! В этой статье мы рассмотрим несколько примеров сбора данных о доходах от акций. Мы..

Абсолютно имеет смысл.
Абсолютно имеет смысл. Мой репетитор даже предложил то же самое. Одна проблема, с которой я столкнулся, заключается в том, что для каждой из категорий не было ярлыка «хорошо». Если я перебираю..

МАШИННОЕ ОБУЧЕНИЕ И EDA
Каковы шаги в машинном обучении Определение проблемы Генерация гипотез Извлечение данных Исследование данных Прогнозное моделирование Развертывание модели Зачем нам ЭДА? Идентификация..

В чем основные различия между ReactJS и React-Native?
В чем основные различия между ReactJS и React-Native? Что я узнал, создавая веб-приложения, а затем мобильные приложения на React React-Native существует уже около 2 лет и стал..

LeetCode — Умножение строк
Постановка задачи Даны два неотрицательных целых числа num1 и num2 , представленные в виде строк, вернуть произведение num1 и num2 , а также представлен в виде строки. Примечание . Вы..