web-dev-qa-db-ja.com

WordPress HTTP(SSL)でForce SSLを有効にした後、WordPress Site Adminからロックアウトされました

私はひどい修正をしています。私はSite Adminから締め出されていて、彼らのドキュメントでプラグインチームによって提供された解決策はうまくいきません。私はWebmatrixを使って両方の方法を試しました。私は金曜日に自分のサイトを立ち上げなければならず、どうすればいいのかわかりません。

これは彼らが提案したものです:

プラグインの設定をリセットするにはどうすればいいですか?
/wp-content/plugins/wordpress-https/wordpress-https.phpに移動して下の行のコメントを外す(前の2つのスラッシュを削除する)か、wp-config.phpファイルに移動してこの行を追加します。サイトの任意のページにアクセスしてから削除するか、コメントアウトしてください。

define('WPHTTPS_RESET', true);

設定は保存されません!

上記の手順でプラグインをリセットし、その行をコメントアウトするかwp-config.phpから削除するのを忘れましたか?

2
Lindsay

まず、WordPressがフォルダを実行するために見つけられないように、フォルダwp-content/plugins/wordpress-httpswp-content/plugins/wordpress-https-OFFに名前変更します。

次に、wp-config.phpファイルに次の行を追加して、ドメイン名を自分のドメイン名に置き換えます。

define( 'WP_SITEURL', 'http://example.com/' );
define( 'WP_HOME', 'http://example.com/' );
4
webaware

私はプラグインをリセットするためにすべての解決策を試しましたが、どれもうまくいきませんでした、ついに私は解決策を見つけました:データベースからそれに応じたデータを削除します。

あなたのオプションはデータベースに入り、クエリの下で実行することです:

DELETE
FROM wp_options
WHERE option_name LIKE 'wordpress-https%'
1
user3082282

サイトの設定とブラウザによっては、これを修正するために複数のステップが必要になる場合があります。以下は、これらの種類の問題の多くを解決するはずです。

ステップ1:WordPress-HTTPSプラグインを無効にする

あなたはAdminにログインすることができないので、あなたはWordPressの背後でこれをする必要があります。これを行うための最も単純な、強引な方法は、プラグインのフォルダーの名前を変更することです。

  1. FTP、シェルプロンプト、またはあなたのWebホストのファイルマネージャ(例えばcPanelを通して利用可能なもの)を使って、wp-content\plugins\にナビゲートします。
  2. プラグインの名前を変更します フォルダwordpress-httpswordpress-https1

名前の変更は関係ありません。 WordPressは、 "WordPress-HTTPS"というプラグインがアクティブで、 "wordpress-https"というフォルダーに格納されていることを知っているだけです。フォルダの名前を変更することで、WordPressからフォルダを隠し、プラグインのコードが実行されないようにします。

これを行うためのもっとエレガントで、おそらくもっと安全な方法は WP-CLI を使うことです。これは、ほとんどのWordPress管理機能をLinux/Unixシェルから実行できるようにするコマンドラインインターフェースです。しかし、誰もが(例えばSHHを介して)シェルにアクセスできるわけではなく、WP-CLIとしてインストールされているすべてのホストにアクセスできるわけでもありません。インストールされている場合

  1. プラグインがそこにあり、アクティブであることを確認するためにコマンドwp plugin listを入力してください
  2. コマンドwp plugin deactivate wordpress-httpsを入力してください

ステップ2:すべてのキャッシュをクリアする

理論的にはWordPress-HTTPSは現在無効になっており、ログインの問題を引き起こすことはありません。しかし、一部のブラウザやWebホストではキャッシュが有効になっているため、以前に発生したリダイレクトを思い出すことができます。

あなたが本当にそのサイトへの100%の現在のアクセスを得ていることを確認するために:

  1. キャッシングプラグインを有効にしている場合(例:W3 Total Cache)、無効にします。 Webホストのコントロールパネル(SiteGroundのSuperCacherなど)を使って無効にできるものもあれば、上記のように無効にする必要があるものもあります。
  2. あなたのWebホストがWordPressの外部でキャッシュする場合は無効にしてください。これは通常あなたのWebホストのコントロールパネルを通して行うことができます。
  3. コンテンツ配信ネットワーク(CloudFlareなど)を有効にしている場合は無効にします。
  4. ブラウザのキャッシュとクッキーをクリアしてください。
  5. ブラウザをシャットダウンして再起動します。

ステップ3:ログイン

運が良ければ、今できます。

ステップ4:それでもうまくいかない場合は、一時的にあなたのサイトをhttpに切り替えてください。

あなたのサイトの設定はおそらくサイトとホームURLにhttpsを使うように言っています。あなたの問題が本当に "強制管理"設定のためだけのものであれば、これはおそらく問題ではありません。しかし最後のステップとして、サイト全体でこれをオフにしてみることができます。

これらのURL設定は、Settings> Generalページで定義されていますが、今は到達できません。しかし、それらはWordPressのテーブルwp_optionsに格納されています。次の2つの方法のいずれかでそれらを上書きできます。

  • Webawareの答えで説明されているように、wp-config.phpでいくつかの定数を定義してください 終わったらそれらの定数を削除することを忘れないでください .
  • PhpMyAdminまたは独自のPHPコードを使用してデータベースを直接編集します。これら2つの設定は "siteurl"と "home"であり、wp_optionsテーブルの最初の2つです。 httpではなくhttpsを使用するように切り替えます。

ステップ4:ロックアウトの原因となった設定を削除する

WordPressのHTTPSを完全に使用しない場合は、この手順を飛ばしてください。その場合はwordpress-https1 folerを削除するだけです。

しかし、SSLが有効になっている場合は非常に便利なツールなので、一度ログインできるようになったら再度有効にする必要があるかもしれません。

WordPressオプションテーブルからWordPress-HTTPSの設定を削除する必要があります。これは基本的に最初からインストールするのと同じです。これを行うには2つの方法があります。

オプション1:データベースから直接削除する

すべての設定はあなたのWordPressデータベースのwp_optionsテーブルにあり、それらはすべて "wordpress-https"で始まります。テーブルからそれらの行を削除すると、WordPress-HTTPSがリセットされます。再起動しても安全なはずです。

オプション2:プラグインの「リセット」フラグを使う

質問で説明したように、WPHTTPS_RESET定数を定義できます。次回WordPress HTTPSを実行すると、このフラグが表示され設定がクリアされます。上記のキャッシュの問題により、これがうまくいかなかった可能性があります。

0
Andy Giesler