Page 1 of 1

Htaccess problem won't redirect non-www to www :(

Posted: Tue Apr 30, 2013 7:39 pm
by PalmerUK
Hey guys,

I'm trying to get my Opencart to re direct non www versions of my site to www. as I'm getting duplicate content issues in Google. I've tried various bits of code and putting in both /admin and /catalog folders too but no matter what it only seems to re direct my homepage (www.mustmerch.net) if you go to say: http://www.mustmerch.net/pretty-little-liars and delete the www. it stays without the www. where it should re place it back in!

Help much appreciated with this.

Many Thanks,
Chris

Re: Htaccess problem won't redirect non-www to www :(

Posted: Tue Apr 30, 2013 8:24 pm
by Xyph3r
copy this in your .htaccess file

Code: Select all

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^mustmerch\.net
RewriteRule (.*) http://mustmerch.net/$1 [R=301,L]

Re: Htaccess problem won't redirect non-www to www :(

Posted: Tue Apr 30, 2013 10:07 pm
by PalmerUK
Just tried and no different. Here's my full .htaccess code which is placed in root, catalog & admin

Code: Select all

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.
# 2. In your opencart directory rename htaccess.txt to .htaccess.
# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing 

Options -Indexes

# Prevent Direct Access to files

<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings

RewriteEngine On

# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ 

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^mustmerch\.net
RewriteRule (.*) http://mustmerch.net/$1 [R=301,L]

### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:

# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:

# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be 

overridden but you can try

# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# php_value max_input_time 200

# 7. disable open_basedir limitations

# php_admin_value open_basedir none

Re: Htaccess problem won't redirect non-www to www :(

Posted: Wed May 01, 2013 12:30 am
by Xyph3r
it should be only in root

Re: Htaccess problem won't redirect non-www to www :(

Posted: Wed May 01, 2013 12:54 am
by pprmkr
After:

Code: Select all

RewriteBase /
Add:
To redirect from www to non www

Code: Select all

RewriteCond %{HTTP_HOST} !^mustmerch.net$ [NC]
RewriteRule ^(.*)$ http://mustmerch.net/$1 [L,R=301]
To redirect from non www to www

Code: Select all

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

Code: Select all

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^mustmerch\.net
RewriteRule (.*) http://mustmerch.net/$1 [R=301,L]

Re: Htaccess problem won't redirect non-www to www :(

Posted: Wed May 01, 2013 6:25 am
by PalmerUK
Still the same issue with the code edited like you said :(, Whats going on?! Lol v strange

Code: Select all

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.
# 2. In your opencart directory rename htaccess.txt to .htaccess.
# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing 

Options -Indexes

# Prevent Direct Access to files

<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings

RewriteEngine On

# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ 

RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:

# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:

# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be 

overridden but you can try

# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# php_value max_input_time 200

# 7. disable open_basedir limitations

# php_admin_value open_basedir none

Re: Htaccess problem won't redirect non-www to www :(

Posted: Wed May 01, 2013 8:16 am
by butte
Add things to check:
http://forum.opencart.com/viewtopic.php ... ar#p400618

Since your nameservers, mailservers, and webserver are in Texas under one host, you'll find going at the foregoing settings usefully gathered together.

I noticed in refreshing memory downward through the thread that it might bear mentioning to turn on rewrite engine before much else is in there. Yours just above is the first even to show it relatively high enough.

Wales, to boot. Good.

Re: Htaccess problem won't redirect non-www to www :(

Posted: Thu Aug 29, 2013 12:14 am
by slewman
Hi mate,
did you ever get an answer to this issue. Trying the solution in this thread returned 500 error for me. I think i've tried every version of the 301 redir for non-www to www on the interwebs and still cant get the redirection going.
could it be something I need to talk to my web host about?

Cheers
Daz

Re: Htaccess problem won't redirect non-www to www :(

Posted: Thu Aug 29, 2013 7:29 am
by pedro1993
Are you definitely running on Apache? I hate .htaccess with a vengeance and I should really read into it more, but every time I won't to redirect/add www.'s I use Xyph3r's code in his first post here, which should work with Apache.

Re: Htaccess problem won't redirect non-www to www :(

Posted: Fri Aug 30, 2013 8:03 am
by butte
Yes, slewman, you can submit a ticket asking how to do it, and they'll probably suggest it. If the server isn't Apache, there will still be alternatives, such as in DNS A before traffic even reaches the website, just as in going into Apache.