【问题标题】:.htaccess for appending https://www [closed].htaccess 用于附加 https://www [关闭]
【发布时间】:2012-09-30 10:20:52
【问题描述】:

我已经搜索了很长一段时间来获得解决方案或提示我的查询,但没有找到任何有价值的东西。基本上我有我的应用程序是 SSL 安全的。我只想要那个

  1. 如果用户尝试在没有 https 和 www 的情况下打开应用程序,它应该会自动附加“https://www

  2. 如果用户输入“https://mydomain.com”,应改为“https://www.mydomain.com

  3. 如果用户输入“www.mydomain.com”,应改为“https://www.mydomain.com

我知道这可以通过 .htaccess 来实现,但我对这些文件的编写方式一无所知。

我们将不胜感激。

【问题讨论】:

    标签: apache .htaccess ssl https


    【解决方案1】:

    通过httpd.conf启用mod_rewrite和.htaccess,然后把这段代码放到你.htaccessDOCUMENT_ROOT目录下:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    

    【讨论】:

    • Anubhava - 像魅力一样一气呵成。非常感谢。如果你不介意并且有一点时间,你能解释一下每一行吗?这将非常有帮助。
    • 我当然可以解释。第一条规则是检查主机名是否不以www. 开头。如果条件为真,则将所有内容重定向到https://www.%{HTTP_HOST}%{REQUEST_URI},这仅表示主机名前缀为www.。第二条规则是检查是否没有为当前 URL 设置 HTTPS。如果此条件为真,则将所有内容重定向到https://%{HTTP_HOST}%{REQUEST_URI},这意味着对当前 URL 使用 HTTPS。详细文档请参考httpd.apache.org/docs/current/mod/mod_rewrite.html
    • 谢谢阿努巴瓦。很好的解释,很容易理解。再次感谢。祝你好运!!
    【解决方案2】:

    尝试将这些规则添加到文档根目录中的 htaccess 文件中:

    RewriteEngine On
    RewriteCond !{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

      【解决方案3】:

      使用以下内容:

      RewriteEngine On 
      RewriteCond %{SERVER_PORT} 80 
      RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R,L]
      

      【讨论】:

        【解决方案4】:

        在您的 .htaccess 文件中

        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{HTTPS} off
            RewriteRule ^(.*)$ https://www.mydomain.com/$1 [L,R]
        </IfModule>
        

        RewriteCond %{HTTPS} off 检查 HTTPS 是否关闭。如果它确实关闭(URL 不包含 https://),则应用重写规则并重定向用户。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-16
          • 1970-01-01
          • 1970-01-01
          • 2018-07-03
          • 1970-01-01
          • 2019-12-04
          相关资源
          最近更新 更多