【问题标题】:Modifying my htacess to redirect to SSL URL修改我的 htaccess 以重定向到 SSL URL
【发布时间】:2019-05-02 22:41:36
【问题描述】:

我当前的.htaccess 看起来像这样:

Redirect 301 /~mysite-net/vlog http://www.example.net/vlog
Redirect 301 /~mysite-net/pp https://www.example.net/pp
Redirect 301 /~mysite-net/pp02 https://www.example.net/pp02
Redirect 301 /~mysite-net/pp03 https://www.example.net/pp03
Redirect 301 /~mysite-net/ http://www.example.net/

RewriteEngine On
RewriteRule ^([A-Za-z0-9]+).html$ https://www.example.net/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*?)/?$ index.php?s=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ index\.php\?s=([^\s]*)
RewriteRule ^/?(.*?)/?$ %1?%2%3 [L,R=301]

这符合预期,所以没问题。但是,现在我需要对其进行修改,以便它始终重定向到我网站的 SSL 版本。这意味着无论用户是否输入 http,它都会将他们重定向到 https。

所以我只是在底部添加了这些行:

RewriteCond %{HTTP_HOST} ^example\.net [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.net/$1 [R,L]

但它不起作用。我错过了什么?

【问题讨论】:

    标签: .htaccess ssl mod-rewrite


    【解决方案1】:

    所以我只是在底部添加了这些行:

    RewriteCond %{HTTP_HOST} ^example\.net [NC]
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://www.example.net/$1 [R,L]
    

    您现有的指令有两个问题:

    • 您将它们放在文件中的错误位置 - 它们需要放在顶部,而不是底部。通过将它们放在文件的末尾,它们只会在请求静态资源时得到处理,因为前面的指令将“捕获”URL。

    • 1234563

    换句话说,在文件的顶部

    RewriteCond %{HTTP_HOST} ^example\.net [NC,OR]
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule (.*) https://www.example.net/$1 [R=301,L]
    

    另一个答案中提到的RewriteCond %{HTTPS} !on 条件只是您的SERVER_PORT 条件的替代方案。

    【讨论】:

      【解决方案2】:

      也许这是可行的 我想你忘了把RewriteCond %{HTTPS} !on

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

      【讨论】:

      • 那是我添加的最后 3 行?
      • 但我在这一行看不到 RewriteCond %{HTTPS} !
      • 在你添加最后三行的底部添加它们
      • 在这 3 行之后?
      • 此规则需要添加为最顶层规则,并确保清除浏览器缓存。
      猜你喜欢
      • 2016-12-20
      • 1970-01-01
      • 2011-01-27
      • 2015-08-15
      • 2012-07-30
      • 1970-01-01
      • 2012-04-27
      • 2015-03-20
      • 1970-01-01
      相关资源
      最近更新 更多