.htaccess - 无法将 https ://www. example.com 映射到 https ://example. com

标签 .htaccess ssl

尝试设置 .htaccess 以发送对 http://www.example.com 的请求至 https://example.com .使用这样的 .htaccess 过程

RewriteEngine On

RewriteCond %{REQUEST_SCHEME}#%{HTTP_HOST} ^http#(?:www\.)?(.+)$ 
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]

在处理 http://www.example.com 时做正确的事(转到 https://example.com )和 https://example.comhttp://example.com .但是,当我尝试使用 https://www.example.com 时, Chrome 抛出“ERR_SSL_PROTOCOL_ERROR”。

我的 SSL 证书显然不涵盖 example.com 的子域,所以这可能是问题所在?有什么方法可以避免对 www.example.com 域进行不必要的 SSL 处理?

编辑:问题是 www.example.com 不存在。创建子域后,以下 htaccess 代码有效:

# Map www.example.com to example.com    
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
#
# Ensure we are using https:
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

[仍然不确定我的 SSL 证书是否适用。是个问题。]

最佳答案

解决方案是添加子域 www.example.com。 (请参阅已编辑的问题。)

关于.htaccess - 无法将 https ://www. example.com 映射到 https ://example. com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552357/

相关文章:

wordpress - 404 是由于 WordPress mod_rewrite 规则造成的?

mysql - 为什么我添加 htacess 文件后我的 post 方法只发送 1 行表数据?

Apache .htaccess 热链接重定向

security - 关于 SSL 的问题

php - 加载特定的 PHP 版本

regex - htaccess 不存在的子域到主域重定向

java - SSL 握手异常

javascript - 如何在 Javascript/Jquery 中的不同子域上调用 API

java - HTTPClient-1.4.2 : Explanation needed for Custom SSL Context Example

javascript - 只允许特定的 URL 访问我的网站