Redirecting HTTPS to Sub-Domain with .htaccess

I want to redirect both https://website.me/ and https://www.website.me/ to https://es.website.me/


This rule doesn't work

RewriteCond %{HTTPS} !^on$
RewriteRule (.*) https://es.website.me/$1 [R,L]

Upvotes: 0

Views: 47

Answers (4)

Olaf Dietsche
Olaf Dietsche

Reputation: 74018

Since you want to redirect only if HTTPS is already used, you must check for it, together with the hostname of course.

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(www\.)?website\.me$ [NC]
RewriteRule ^ https://es.website.me%{REQUEST_URI} [R,L]

When everything works as it should, you may replace R with R=301. Never test with R=301.

Upvotes: 0

Ravi Hirani
Ravi Hirani

Reputation: 6539

Use below htaccess

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?website\.me$ [NC]
RewriteRule ^(.*)$ https://es.website.me/$1 [R=301,L]

Upvotes: 2

Ben Hillier
Ben Hillier

Reputation: 2104

Do you want to redirect, or rewrite?

To redirect with a code 301 (permanently moved), make 2 virtual hosts; one for the real site, and one for all the URL's you want to redirect. In the redirect host, add this line:

Redirect 301 / https://es.website.me/

Upvotes: 0

Mohammad Sayeed
Mohammad Sayeed

Reputation: 2135

Try this one for redirection in your case:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^website.me$ [OR]
RewriteCond %{HTTP_HOST} ^www.website.me$
RewriteRule (.*)$ https://es.website.me/$1 [R=301,L]
</IfModule>

Upvotes: 0

Related Questions