Domenico
Domenico

Reputation: 5

Stop .htaccess redirecting everything to

I have setup my .htaccess to redirect requests from http ://subdomain.domain.com.tld, http ://www.subdomain.domain.com.tld and http ://domain.com.tld/folder (folder that contains contents of subdomain) to https ://subdomain.domain.com.tld so my single domain SSL certificate setup for subdomain.domain.com.tld is used at all times.

My problem is http ://domain.com.tld also redirects to https ://subdomain.domain.com.tld. How do I stop this?

RewriteOptions inherit
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^subdomain.domain\.com.tld
RewriteRule ^(.*)$  https://subdomain.domain.com.tld/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^folder$ "https\:\/\/subdomain\.domain\.com\.tld\/" [R=301,L]

Thank you.

Upvotes: 0

Views: 597

Answers (1)

David Ravetti
David Ravetti

Reputation: 2040

These rules should replace everything after RewriteEngine on:

RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.domain\.com\.tld$ [NC]
RewriteRule ^(.*)$ https://subdomain.domain.com.tld$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^domain\.com\.tld$ [NC]
RewriteRule ^folder/?(.*)$ https://subdomain.domain.com.tld$1 [R=301,L]

The first set of rules matches http://subdomain.domain.com.tld and http://www.subdomain.domain.com.tld

The second set matches http://domain.com.tld/folder, but does not match http://domain.com.tld without the "folder" part.

Edit: Corrected typo as noted in comments and escaped dots in RewriteConds.

Upvotes: 1

Related Questions