1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

XF 1.4 Redirecting www to non-www

Discussion in 'Troubleshooting and Problems' started by dtommy79, May 9, 2015.

  1. dtommy79

    dtommy79 Member

    Hi,

    I'm trying to redirect www URLs to non-www. I tried every version from the FAQ, but didn't work.

    My forum is in a subdirectory. I'm using this rule:

    RewriteCond %{HTTP_HOST} www.example.com/forum$
    RewriteRule ^(.*)$ http://example.com/forum$1 [R=301,L]

    Should it work or I'm doing something wrong?
    Thanks
     
  2. Mike

    Mike XenForo Developer Staff Member

    The HTTP_HOST line can't have the directory -- it's just www.example.com that should be listed.
     
  3. dtommy79

    dtommy79 Member

    I've changed it but now I'm getting 404 pages. Obviously I'm doing something wrong so here is my entire .htaccess file:

    # Mod_security can interfere with uploading of content such as attachments. If you
    # cannot attach files, remove the "#" from the lines below.
    #<IfModule mod_security.c>
    # SecFilterEngine Off
    # SecFilterScanPOST Off
    #</IfModule>

    ErrorDocument 401 default
    ErrorDocument 403 default
    ErrorDocument 404 default
    ErrorDocument 405 default
    ErrorDocument 406 default
    ErrorDocument 500 default
    ErrorDocument 501 default
    ErrorDocument 503 default

    <IfModule mod_rewrite.c>
    RewriteEngine On

    # If you are having problems with the rewrite rules, remove the "#" from the
    # line that begins "RewriteBase" below. You will also have to change the path
    # of the rewrite to reflect the path to your XenForo installation.
    RewriteBase /forum
    RewriteCond %{HTTP_HOST} www.mysite.com$
    RewriteRule ^(.*)$ http://mysite.com/forum$1 [R=301,L]


    # This line may be needed to enable WebDAV editing with PHP as a CGI.
    #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]


    </IfModule>
     
  4. dtommy79

    dtommy79 Member

    Just in case anyone else needs this. This is what worked for me:

    Code:
    RewriteBase /forum
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]
     
  5. Cassandra

    Cassandra Member

    @dtommy79 thanks for this, how would I go about changing non-www to www?
     

Share This Page