【问题标题】:Enable https using Rewrite Rule for specific URLs为特定 URL 使用重写规则启用 https
【发布时间】:2012-09-12 06:04:12
【问题描述】:

我是 Apache 新手,我发现理解重写规则语法非常困难。

这是我的设置: 我在 mydomain.com 上有一个 Wordpress MU 网站 我已经停放了指向 mydomain.com 的域 site1、site2.com

我想要的: 我希望这个 URL http://mydomain.com/wp-login.php 重定向到相同的地址,但首先使用 https。我看过几个关于如何做到这一点的教程,但是有一个问题。

我的问题: 如果我使用类似的东西

#RewriteCond %{HTTPS} !=on
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这也将我的其他网站重定向到 https 版本,因为它们是停放的域并有效地加载了相同的 htaccess 代码;由于我拥有的证书仅适用于 mydomain.com,因此我收到证书错误。

我只需要保护 mydomain.com 上的页面,但只需要保护 wp-login.php 页面。另一个问题是这个页面可以在 URL 中移动,IE:

mydomain.com/wp-login.php

mydomain.com/somecracp/wp-login.php

mydomain.com/wp-login.php?xys=5653

我需要一个正则表达式来检测 mydomain.com 的域名和 URL 中任意位置的 wp-login.php。然后我需要为他们强制使用 https。谁能帮我写代码?

更新: 我可能已经找到了问题的一部分。似乎登录页面本身也在尝试进行一些重定向。当我访问网站http://mysite.com/wp-admin 的管理部分时,它会检测到您没有登录;然后它会将您重定向到登录页面,但在末尾附加一个 redirect_to 查询字符串,如下所示:

http://mydomain.com/subdomain/wp-login.php?redirect_to=http%3A%2F%2Fmydomain.com%2Fsubdomain%2Fwp-admin%2F&reauth=1

这样做似乎是为了在您成功登录后,它可以将您重定向到您之前尝试访问的管理部分。这个“redirect_to”以及它后面的内容是您登录后将重定向到的 URL。

我不会详细说明原因,但是有没有办法可以强制它覆盖上面的 URL 以访问 mydomain.com/wp-login.php 而没有任何 rediret_to 废话?

【问题讨论】:

    标签: wordpress apache mod-rewrite ssl


    【解决方案1】:

    试试这个:

    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain.com$ [NC]
    RewriteCond %{HTTPS} !on
    RewriteRule wp-login.php https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,QSA]
    

    RewriteRule 的正则表达式部分检查请求中是否有 wp-login.php 的任何实例,如果有,则重定向到 https。

    【讨论】:

    • 这比我迄今为止所拥有的任何东西都要好得多。它现在可以正确登录和注销。然而,另一个问题出现了。请阅读我上面的更新,看看您是否知道如何修复它。谢谢
    【解决方案2】:

    试试

    RewriteCond %{HTTPS} off
    RewriteCond %{REQUEST_URI} wp-login.php [NC]
    RewriteRule https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    rewriteCondition 会检查 https 是否关闭并且请求 uri 包含 wp-login.php,然后重定向。

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多