WordPress」カテゴリーアーカイブ

SiteGuard WP Pluginのログイン画面変更でエラー

先日移行してきたwordpressのサイトにもともとは言っていたSiteGuard WP Plugin(サイトガード WP プラグイン)のログイン画面を変更しようとしたがうまく動作しなかったのでその対処メモ

事象は新しく指定されたログインページを見ようとしても404エラーになるというもの。

 

 

元々以下のような設定が.htaccessにあったけれども

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

SiteGuardでログイン画面を変更しようとしたところ以下のものが既存の設定の下に追記された。

#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_nnnnn(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

 

まとめるとこんな感じ

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_nnnnn(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

青字/斜体のファイルとディレクトリがなければindex.phpに飛せという指定が先に来てしまい、新たに指定されたURLがlogin_nnnnnならば〜という処理まで到達していない。

#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_nnnnn(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

上下を入れ替えたら取り敢えず動作させたけどプラグインの正しい想定は不明。
一緒に以下のタグも自動生成されたいたからこの間に青字のWordPressでよく見る設定を入れておくのが想定なのかな?

# BEGIN WordPress
# END WordPress

WordPressのインストールではまった2

wordpressを引っ越そうとしたらまたはまったので覚書。

http://araburu.epea.co.jp/を店のサイトのサブディレクトリhttps://www.rocher.kyoto.jp/arbr/に引っ越し。
https://www.rocher.kyoto.jp/arbr/にアクセスするとhttps://www.rocher.kyoto.jp/arbr/への301リダイレクトがループ(loop)してしまう。

結論としては、もともとSSL化してあるwww.rocher.kyoto.jpのサブディレクトリにもかかわらず「Admin SSL」pluginを使用しているのが原因だった。
Admin SSLを削除して解決。

以下、切り分け手順

https://www.rocher.kyoto.jp/arbr/以外(?p=XXX)でもループは発生しているがhttps://www.rocher.kyoto.jp/arbr/sitemap.xml等は正常動作。
.htaccess等のこちらで書いたリダイレクト設定ではなさそう。


index.phpを本来のものでなく単純に文字を書き出すものに変えたら表示された。
なので、ApacheのDirectoryIndex周りでなwordpressの機能で発生している模様。

3.
WirdPress内でどこまで処理が進んでいるかを見るためにログを書き出してみるとwp-includes/wp-settings.phpの中のdo_action( ‘init’ );というところでリダイレクトが発生している模様。
調べると「通常プラグインの初期化に使われる。」ものということ。

 

「Admin SSL」pluginを停止させると正常動作開始。(Admin SSLのソース見ていないので最初に書いた原因と断言するのは何ですが。)

今回作業の反省点は「wordpressの機能」といったときに、本体の機能が原因とは限らないのでセーフモード的にプラグインも最小構成(というか無し)で調べるのが良かったのだろう。

WordPressのインストールではまった

今まで、なし崩し的にこっちに店の記事も書いていたけどそろそろ分けるかと思いWordPressのインストールを実行。

 

無事にインストールできた模様と思ったら、トップページを表示しようとすると「wp-config.phpファイルが既に存在しています。」というエラー画面に遭遇。

検索してでてきた対処法を試したが状況は変わらず。

結論としてはブラウザキャッシュが悪さをしていた。ブラウザキャッシュを削除したらそのエラーは解決。(他に問題ないかはこれから確認)

 

一応メモ書き

x.x.x.x – – [18/Oct/2015:14:07:13 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:10:05 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:11:46 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:16:19 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:19:13 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:24:41 +0900] “GET /%E3%81%82 HTTP/1.1” 404 16886
x.x.x.x – – [18/Oct/2015:14:25:16 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:27:18 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284
x.x.x.x – – [18/Oct/2015:14:27:51 +0900] “GET /index.php HTTP/1.1” 301 –
x.x.x.x – – [18/Oct/2015:14:27:51 +0900] “GET /wp-admin/setup-config.php HTTP/1.1” 500 3284

何らかの条件が整い、 「/index.php」から「/wp-admin/setup-config.php」への301 リダイレクトが設定されていた。/wp-admin/setup-config.phpはインストール時に使用されるものでインストール時に作成されるwp-config.phpが既に有ると問題になったエラー画面を表示する。

つまり、

  1. インストール終了
  2. /index.phpにアクセス
  3. /wp-admin/setup-config.phpにリダイレクト
  4. すでにwp-config.phpが存在するエラー

.htaccessやらやらよそを調べて解決に結構時間がかかった。。

なんかWordPressがはいているトラップな気がするけど調査はしていない。

 

 

 

BackWPup失敗

BackWPupのJobを走らせたら

 

“The HTTP response test get an error “Peer certificate cannot be authenticated with known CA certificates”

と怒られてバックアップがうまくいかなかった。

オレオレ証明書の期限が切れている状態なのでそのせいかな??

メッセージはオレオレだからと言っているけど仕様変わったらもっと騒いでいる人多そうだし。

->12/26追記

残念ながらメッセージ通り自己認証局はだめだった

 

 

アクセスログに”%E2%80%8B”

アクセスログに”%E2%80%8B”と”zero width space(見えない空白みたいなもの)”が付いたログが残っていた。

(略) "GET /?%E2%80%8Bp=2%E2%80%8B23 HTTP/1.1" 200 63979 (略)

しかもステータス200を返しているしなんだろうと思い調べてみる。

結論から言うと、ウェブマスター ツールから自分でFetch as GoogleをたたいたときにコピペしたURLに”zero width space”が混ざっていたため、それがgoogleに取り込まれた模様。

WordPressの場合は”zero width space”が無いものと扱われるみたいなのでとりあえず動作はする。(セキュリティ的なとこは見ていない)

リンクを画面からコピペしたときに混ざったと思うけど軽く探した範囲では具体的にどこをコピペしたときかは見つけられなかった。

 

なお、Googleで実際に以下のアドレスをたたいたところ両方がインデックスされている。

https://www.rocher.kyoto.jp/araburu/?%E2%80%8Bp=2%E2%80%8B23
https://www.rocher.kyoto.jp/araburu/?p=223