Перезапись URL Tomcat - PullRequest
       2

Перезапись URL Tomcat

0 голосов
/ 11 марта 2019

хотел бы обратиться за помощью в отношении перезаписи URL для Tomcat9.

Я разработал веб-приложение с использованием инфраструктуры J2EE и MVC.

Текущий URL-адрес для доступа к сети:

http://www.example.com:8080/MyApp/App/login.html 

(Login.html - это мой index.html по умолчанию)

То, что я надеюсь достичь, это получить http://www.example.com:8080/login.html Это означает, что для каждой страницы структура MyApp / App будетскрыто от URL

Я исследовал перезапись URL, но меня смущают используемые регулярные выражения.Например, я нашел следующий фрагмент, но не очень уверен, что означает вторая строка RewriteRule.Первая строка, вероятно, означает игнорирование файлов css, img, js.

RewriteCond %{REQUEST_URI} ^/(css|img|js|partials|rest|favicon).*$
RewriteRule ^.*$ - [L]

Спасибо за помощь.

1 Ответ

2 голосов
/ 11 марта 2019

Похоже, вы используете Apache для перезаписи URL. Почему бы вам просто не поместить login.html в корень вашего веб-приложения? Кто решил, что это должно быть в MyApp / App? Я думаю, что, возможно, MyApp происходит из вашего файла WAR, а App - это точка монтирования сервлета или что-то в этом роде, верно? Вы можете избавиться от пути WAR, назвав свой файл ROOT.WAR, , но есть и другие методы . Чтобы избавиться от App, вы можете смонтировать ваш сервлет в «/» или (если ваш фреймворк поддерживает его) использовать фильтр, а не сервлет для обслуживания ваших запросов.

Правило перезаписи, которое вы включили (это всего лишь одно правило), гласит: если URL-адрес запроса начинается с css, img и т. Д. (Регулярное выражение RewriteCond), то ничего не делайте (это означает «-»). ) и прекратить оценку правил перезаписи ([L], что означает «Последний»). Это не кажется очень полезным для вашей ситуации, но это, вероятно, исключение: после него есть другие правила, которые мы хотим применить, и это разработано, чтобы избежать переписывания нескольких путей (css, img и т. Д.) что мы хотим оставить в покое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...