先日移行してきた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