0

我已经设置了我的 .htaccess 来重定向来自 http://subdomain.domain.com.tld、http://www.subdomain.domain.com.tld 和 http://domain.com.tld/folder 的请求(文件夹包含子域的内容)到 https://subdomain.domain.com.tld 所以我的 subdomain.domain.com.tld 的单域 SSL 证书设置始终使用。

我的问题是 http://domain.com.tld 也重定向到 https://subdomain.domain.com.tld。我该如何阻止这个?

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]

谢谢你。

4

1 回答 1

1

这些规则应该替换之后的所有内容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]

第一组规则匹配http://subdomain.domain.com.tldhttp://www.subdomain.domain.com.tld

第二组匹配http://domain.com.tld/folder,但不匹配没有“文件夹”部分的http://domain.com.tld 。

编辑:更正了评论中指出的错字和 RewriteConds 中的转义点。

于 2013-02-03T00:41:02.420 回答