0

If I type mysite.com/myproduct-name or mysite.it/myproduct-name without www it brings me to the respective homepage (I have 2 domains: www.mysite.com and www.mysite.it).

.htaccess part:

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

# RewriteCond %{HTTP_HOST} !^mysite.com$ [NC]
# RewriteRule ^(.*)$ http://www.mysite.com/ [R=301,L]


SetEnvIf Host www\.mysite\.com MAGE_RUN_CODE=en
SetEnvIf Host ^mysite\.com MAGE_RUN_CODE=en
SetEnvIf Host www\.mysite\.it MAGE_RUN_CODE=it
SetEnvIf Host ^mysite\.it MAGE_RUN_CODE=it
  • In this situation redirect of product is resolved but I can access only to www.mysite.it
  • If I uncomment row 3 and 4 I'm not able to access both domains anymore.
  • If I remove ! from both conditions I can access to both domains but redirect to www product page doesn't work anymore

How can set it so that redirect me to the www version of the content (e.g. www.mysite.com/myproduct-name)?

2 Answers 2

0

Go to System->Configuration->Web->Url Options and set the field Auto-redirect to Base URL to No.

4
  • Thank you but, if I set this I can access both homepage version with and without www. I want access ONLY to the www version.
    – KaMZaTa
    Nov 6, 2014 at 16:02
  • More specifically, doing this product redirect (mysite.com/myproduct --> www.mysite.com/myproduct) works but now home redirect doesn't (site.com --> site.com).
    – KaMZaTa
    Nov 6, 2014 at 18:38
  • @KaMZaTa tou should be able to solve the home page issue with a rewrite rule. At least the rest of the pages work.
    – Marius
    Nov 6, 2014 at 18:41
  • And how? I have different domains and condition rule ^mysite.it$ doesn't seems match. Only match !^mysite.it$ but doing this excludes also other domain.
    – KaMZaTa
    Nov 6, 2014 at 18:58
0

First line in .htaccess needs to be changed to include www prefix (as there is negation in the condition). Redirect in the second line should include request URL, so it would be like:

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

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

or

RewriteCond %{HTTP_HOST} ^mysite\.it$ [NC]
RewriteRule ^ http://www.mysite.it%{REQUEST_URI} [R=301,L]


RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^ http://www.mysite.com%{REQUEST_URI} [R=301,L]

Other non-matching requests you can redirect in similar way to www.mysite.com or www.mysite.it as needed.

3
  • Doing this way generates a loop between www.mysite.com and www.mysite.it
    – KaMZaTa
    Nov 6, 2014 at 18:03
  • Thank you for pointing this out. I have corrected the answer assuming both domains are active. The previous reply was for single domain only.
    – Jouriy
    Nov 6, 2014 at 18:10
  • Doing this way I can access both domains but product page without www lead to homepage and not to itself.
    – KaMZaTa
    Nov 6, 2014 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.