Назад | Перейти на главную страницу

Как перенаправить http://example.com на http://www.example.com в tomcat

Есть ли способ использовать теги виртуального сервера в файле server.xml в tomcat для перенаправления любого, кто обращается к домену напрямую (например: http://example.com), чтобы перенаправить их на http://www.example.com Субдомен www?

любая помощь будет принята с благодарностью.

Если вам нужно перенаправление на стороне сервера в Tomcat с одного URL-адреса на другой, у вас есть несколько вариантов:

  1. Некоторые простые перенаправления могут выполняться веб-приложением Load Balancer, поставляемым с Tomcat 5.5; похоже, что более поздние выпуски Tomcat отказались от него.
  2. Если ваши потребности в перенаправлении URL-адресов могут быть ограничены уровнем веб-приложения, то UrlRewriteFilter с www.tuckey.org - мощный инструмент, который, скорее всего, вам поможет.
  3. Если ваши потребности больше подходят для перенаправления на уровне сервера / контейнера, то, вероятно, правильный инструмент RewriteValve, компонент веб-сервера JBoss, сравнимый по мощности с Apache httpd mod_rewrite.
  4. Если вам нужно перенаправление на уровне сервера, но вы предпочитаете что-то более легкое, вы можете взглянуть на мой Клапан перенаправления Tomcat.

В Tomcat (сервлеты):

servletResponse.setStatus(res.SC_MOVED_TEMPORARILY);
servletResponse.setHeader("Location", "http://www.domain.com");

В JavaScript:

<script type="text/javascript">
    window.location = "http://www.domain.com"
</script>

В обычном HTML:

<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.domain.com">

Для этого вам не нужен tomcat, вы можете сделать это прямо в записи DNS.

Обычно это делается с использованием внешнего интерфейса Apache, но вы можете использовать названные хозяева в вашей конфигурации контекста укажите разные контексты, где версия без www просто перенаправляется на версию с www. На мой взгляд, Apache намного проще.