如何在.htaccess文件上将https://重定向到https:// www?

时间:2013-04-20 06:24:26

标签: php apache .htaccess ftp opencart

我正在修改.htacess。我尝试使用以下代码将https://mydomain.com更改为https://www.mydomain.com。哪个失败了。

# REDIRECT HTTPS:// TO HTTPS://WWW.
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^my___domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.my___domain.com/$1 [R=301,L]

我做错了什么?


作为说明:

如果这有帮助,将IP和原始3_ $(_“> http://my3_$.com)重定向到_”> http://www.3__$.com我使用了这些代码在一开始,这是有效的。

# REDIRECT IP TO WWW.
RewriteCond %{HTTP_HOST} ^xxx\.xxx\.xxx\.xxx
RewriteRule (.*) http://www.my___domain.com/$1 [R=301,L]

# REDIRECT HTTP:// TO HTTP://WWW.
RewriteCond %{HTTP_HOST} ^my___domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.my___domain.com/$1 [R=301,L]

我正在尝试重定向https://因为在成功修改上述两个之后,我无法登录,因为它们是https:// pages。

谢谢

2 个答案:

答案 0 :(得分:1)

而不是http://www.___.com/$1,请使用//www.___.com/$1。它将使用http或https,无论原始请求中使用哪个。目前,你正在强迫http,这似乎与你想要的相反。

答案 1 :(得分:0)

我使用此重写来从http重定向到https

RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

我想在你的情况下,添加这样的东西可以完成这项工作:

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

嗯?