http和https非www的htaccess重定向
我想要:http和https非www的htaccess重定向,http,.htaccess,redirect,https,Http,.htaccess,Redirect,Https,我想要: http://example.com重定向到:http://www.example.com https://example.com重定向到:https://www.example.com 以及http://whatever.example.com不要像http://www.whatever.example.com试试这个规则: RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ RewriteCond %{HTTPS}s ^on(s)| RewriteR
重定向到:http://example.com
http://www.example.com
重定向到:https://example.com
https://www.example.com
http://whatever.example.com
不要像http://www.whatever.example.com
试试这个规则:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这里有一个解释:
on
和off
)和s
(因此ons
或offs
)的串联值是否等于ons
,并捕获s
。这意味着如果%{HTTPS}s
的计算结果为ons
,则第一个匹配组为s
,否则为空^
),如果两个条件都为真,则将它们重定向到http%1://www.%{http\u HOST}%{REQUEST\u URI}
。其中,%1
是前一个条件的第一个匹配组(s
如果是HTTPS,则为空,%{HTTP\u HOST}
是请求的HTTP主机,%{request\u URI}
是请求的绝对URL路径尝试将此
RewriteCond
添加到.htaccess文件以仅捕获SSL,然后对标准http执行相同的操作
RewriteCond %{HTTPS} on
你能解释一下吗?这对我来说是一种中国式的。。。第一行仅用于捕获由两部分组成的主机(例如:example.com)。第二行做什么,如何做?看起来不错,但为我生成了500条内部错误消息。在某些主机上,您需要在|上用
RewriteCond%{HTTP:X-Forwarded-SSL}s^替换第二行以正确检测SSL。