我正在尝试将我网站上的所有请求重定向到格式的网址:
https://www.mydomain.com
因为我有www.mydomain.com
的SSL证书。我在httpd.conf
文件中写了以下重写规则来执行此操作:
RewriteCond %{HTTP_HOST} !^www [NC]
RewriteRule $ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R]
RewriteCond %{HTTPS} off
RewriteRule $ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
在以下可能的格式中,只有一种不起作用:
mydomain.com - working
www.mydomain.com - working
http://mydomain.com - working
https://mydomain.com – not working
https://www.mydomain.com - working
http://www.mydomain.com - working
有谁可以解释这个问题背后的原因和解决方案?
更新
当我尝试点击无效的网址(https://mydomain.com
)时,我收到无效的SSL证书错误(因为我的证书对www.mydomain.com
有效而非mydomain.com
)和因此,我的重写规则都没有被执行,因为尚未建立http连接。
这个问题有解决方法吗?
答案 0 :(得分:1)
您可能想尝试
rewritecond %{SERVER_PORT} !^443$
而不是
RewriteCond %{HTTPS} off
答案 1 :(得分:0)
凭借我拥有的证书,这是不可能的。试试https://amazon.com,您会看到不受信任的连接问题。我有类似的问题。选择是购买另一张证书。