Search code examples
tomcattomcat7tuckey-urlrewrite-filter

Redirecting http://www.example.com to http://example.com


How do I redirect http://www.example.com to http://example.com in Tomcat? All the documentation focuses on Apache, but I'm hosting a Java app.


Solution

  • Apache

    This should be something in the lines of

    # .htaccess file contents
    # Apache has the same docroot as the Java web app.
    # Java webapp is running on port 8084
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    # For sites running on a port other than 80
    RewriteCond %{HTTP_HOST}   !^domain\.com [NC]
    RewriteCond %{HTTP_HOST}   !^$
    RewriteCond %{SERVER_PORT} !^80$
    RewriteRule ^/(.*)         http://domain.com:%{SERVER_PORT}/$1 [L,R]
    
    # And for a site running on port 80
    RewriteCond %{HTTP_HOST}   !^domain\.com [NC]
    RewriteCond %{HTTP_HOST}   !^$
    RewriteRule ^/(.*)         http://domain.com/$1 [L,R]
    </IfModule>
    

    http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

    Tomcat

    You can use UrlRewriteFilter in Tomcat. A rule like this should work for you in /WEB-INF/urlrewrite.xml:

    <rule enabled="true">
        <name>Force HTTPS example</name>
        <note>Automatically redirects user requests.</note>
        <from>http://domain.com/(.*)$</from>
        <to type="permanent-redirect" last="true">http://www.domain.com/</to>
    </rule>
    

    Not sure if I made typo's, wrote this on top of head