#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.