htaccess 重定向非 www http 和 https
我希望:
http://example.com
重定向到:http://www.example.com
https://example.com
重定向到:https://www.example.com
并且任何 http://whatever.example.com
都不会像 那样附加 www >http://www.whatever.example.com
。
I'd like to have:
http://example.com
redirect to:http://www.example.com
https://example.com
redirect to:https://www.example.com
And anything that is http://whatever.example.com
NOT append the www like http://www.whatever.example.com
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个规则:
这里有一个解释:
on
和off
)和s
的串联值是否为> (因此ons
或offs
)等于ons
并捕获s
。这意味着如果%{HTTPS}s
的计算结果为ons
,则第一个匹配组为s
,否则为空。^
标记),并将它们重定向到http%1://www.%{HTTP_HOST}%{REQUEST_URI 的评估值}
如果两个条件都为真。其中%1
是前一个条件的第一个匹配组(如果是 HTTPS,则为s
,否则为空),%{HTTP_HOST}
是 HTTP < em>请求的 Host,%{REQUEST_URI}
是请求的绝对 URL 路径。Try this rule:
Here’s an explanation:
on
andoff
) ands
(so eitherons
oroffs
) is equal toons
and captures thes
. This means if%{HTTPS}s
evaluates toons
, the first matching group iss
and empty otherwise.^
) and redirects them to the evaluated value ofhttp%1://www.%{HTTP_HOST}%{REQUEST_URI}
if both conditions are true. Where%1
is the first matching group of the previous condition (s
if HTTPS and empty otherwise),%{HTTP_HOST}
is the HTTP Host of the request and%{REQUEST_URI}
is the absolute URL path that was requested.尝试将此
RewriteCond
添加到您的 .htaccess 文件以仅捕获 SSL - 然后对标准 http 执行相同的操作。Try adding this
RewriteCond
to your .htaccess file to catch SSL only - then do the same thing for standard http.