0

私は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ページのみを保護する必要があります。もう1つの問題は、このページがURLIE内を移動できることです。

mydomain.com/wp-login.php

mydomain.com/somecracp/wp-login.php

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

URLの任意の場所でmydomain.comと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がらくたを使わないようにする方法はありますか?

4

2 に答える 2

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 にリダイレクトします。

于 2012-09-12T06:08:21.210 に答える
0

試す

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 が含まれているかどうかを確認してから、リダイレクトします。

于 2012-09-12T06:59:48.483 に答える