Проблема домена с tomcat

#java #apache #tomcat #redirect

#java #apache #tomcat #перенаправление

Вопрос:

Я развернул веб-сайт на базе Java на своем VPS. Он успешно развернут и работает правильно. Я определил правило перенаправления для перенаправления из корня в подпапку. Проблема, с которой я сейчас сталкиваюсь, заключается в,

если я поставлю domain.com -> перенаправляет на domain.com/pages/shopIndex (страница отображается правильно)

и

когда я ставлю www.domain.com -> перенаправляет на www.domain.com/pages/shopIndex (показывает 404)

Я не понимаю этого странного поведения, потому что я добавил псевдоним для domain.com чтобы www.domain.com в моем файле httpd.conf

Вот как выглядит мой файл виртуального хоста:

 <VirtualHost 192.169.235.118:80>
  ServerName domain.parentDomain.in
  ServerAlias domain.com www.domain.com www.domain.parentDomain.in
  DocumentRoot /path_to/domain.com
  ServerAdmin admin@admin
  UseCanonicalName Off
  CustomLog /path_to/domain.parentDomain.in combined
</VirtualHost>
  

Кто-нибудь может помочь мне найти решение?

Ответ №1:

Я получил решение этой проблемы, есть Alias тег для server.xml файла, в который мы можем поместить Alias хост, который мы хотим представить.

Вот как я решил проблему (во server.xml внутреннем host теге):

 <Alias>www.domain.com</Alias>
  

Комментарии:

1. Вы не должны беспокоиться о настройке имени хоста в Tomcat, если вам действительно все равно, что это такое. Просто используйте хост по умолчанию для всего.

2. Да, я знаю @ChristopherSchultz, но дело в том, что конечный пользователь может ввести www.domain.com / domain.com , который в конечном итоге преобразуется в http://www.domain.com / http://domain.com , из-за этого apache tomcat может не получить правильный путь. Также я забыл сказать, что я упомянул host=domain.com в server.xml файле в теге хоста это могло быть причиной того, что он не перенаправлялся на правильный путь, и я получал ошибку 404.