【问题标题】:How do I redirect https:// to https://www on .htacess file?如何在 .htaccess 文件中将 https:// 重定向到 https://www?
【发布时间】:2013-04-13 14:25:22
【问题描述】:

我正在修改 .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:// 页面。

谢谢

【问题讨论】:

    标签: php apache .htaccess ftp opencart


    【解决方案1】:

    使用//www.___.com/$1 代替http://www.___.com/$1。它将使用 http 或 https,以原始请求中使用的为准。目前,您正在强制使用 http,这似乎与您想要的相反。

    【讨论】:

    • 所以如果我使用 //www.___.com/$1 它会自动选择正确的(http 或 https)来使用?
    • 是的。很酷的小技巧,不是吗?我最近才知道它,尽管我多年来一直在做各种各样的网络编程和系统管理员工作。 301 重定向位置标头可能应该是完整的、绝对的 URI,但我确信 Apache 会解决这个问题,如果没有,Web 浏览器肯定会。有些垃圾邮件机器人可能不会,但那里没有问题。
    • 我尝试使用它,但它不起作用。当我使用它时,Opencart 拒绝它。有没有更简单的手动方式?
    • 你可以有两个不同的版本,一个是%{HTTPS} =on,另一个是${HTTPS} !=on。请务必创建一个https://,因为您在示例代码中缺少“s”,正如@faa 还指出的那样。
    【解决方案2】:

    我使用此重写将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] 
    

    嗯?

    【讨论】:

      猜你喜欢
      • 2018-07-03
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 2019-12-04
      • 2022-01-11
      • 1970-01-01
      • 2017-09-08
      • 2021-11-10
      相关资源
      最近更新 更多