セキュリティ上の理由から、ユーザーがhttp://www.mysite.com/wp-login.phpまたはhttp: //www.mysite.com/wp-adminエラー 404 ページにリダイレクトされますが、http ://www.mysite.com/blah-loginまたはhttp://www.mysite.com/blah-adminと入力すると、私のWP管理者またはログインパネルにリダイレクトされました。それを行うには、次のオプションがあります。
- 苦手な .htaccess ファイルを書き直し、サイトの .htaccess ファイルを台無しにしたくありません。
小さなプラグインを作成して $wp_rewrite クラスを使用します。そのコードを以下に示します。
register_activation_hook( __FILE__, 'activate' ); function activate() { rewrite(); flush_rewrite_rules(); } register_deactivation_hook( __FILE__, 'deactivate' ); function deactivate() { flush_rewrite_rules(); } add_action( 'init', 'rewrite' ); function rewrite() { add_rewrite_rule( 'blah-admin/?$', 'wp-admin', 'top' ); add_rewrite_rule( 'blah-login/?$', 'wp-login.php', 'top' ); add_rewrite_rule( 'blah-register/?$', 'wp-register.php', 'top' ); }
wp-admin、wp-login.php、または wp-registe.php (必須) へのアクセスを制限しないという問題のみが完全に機能します。
次のルールを新しい .htaccess ファイルに書き込むことができます。
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Wordpress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all allow from xxx.xxx.xxx.xxx </LIMIT>
wp-admin フォルダーの下に配置すると、2 つの欠点があります
allow from xxx.xxx.xxx.xxx
。私のため。2 番目と 3 番目のルールを組み合わせて使用することもできますが、ブロックされたフォルダー全体への代替パーマリンクを提供できないため、確実に機能しません。
最後の手段として、wp-modal プラグインのパーマリンク書き換え機能を使用できます。これは魅力的に機能しますが、このプラグインは私のテーマと互換性がありません。
それで、私の問題に対する解決策は本当にありますか?