web-dev-qa-db-ja.com

コアを検索置換せずに "wp-admin"を他のものに変更するにはどうすればいいですか?

例えば、次のとおりです。foobar.com/wp/wp-adminの代わりにfoobar.com/wp/edit

どうすればいいの?

私はこれをhtaccessで使ってみましたが、うまくいきません。

##### ABOVE THIS POINT IS ALREADY INSERTED BY Word PRESS
##### Admin Base Rewrite #####
RewriteCond %{REQUEST_URI} wp-admin/
RewriteCond %{QUERY_STRING} !sercretword
RewriteRule .*\.php [F,L]
RewriteCond %{QUERY_STRING} !secretword
RewriteRule ^secret_room/(.*) wp-admin/$1?%{QUERY_STRING}&secretword [L]
##### End Admin Base Rewrite #####
##### BELOW THIS POINT IS ALREADY INSERTED BY Word PRESS

これは、河野道によって作成されました。私はそれをうまく動かすことができません。

私はあいまいさによってもっと安全になろうとしているのではありません。私のサイトは(ウィキのような)世界で編集可能なものになるでしょうが、登録されたユーザーに限ります。コンテンツを編集または追加するには、 "/ wp-admin"ではなく "/ edit"に移動します。

助けてくれてありがとう!

注:I しました この質問を参照してください。 wp-adminフォルダの名前を変更できますか? しかし、それは答えがありません。

注:Stealth Adminプラグインもうまくいかないようです。

注:私はこの解決方法を試しました。 すべての/ wp-login要求をリダイレクト/書き換える方法 しかし、htaccessファイルのどこにワードプレス規則に対する書き換え規則を配置するのかわかりません。

2
trusktr

あなたは Redirection プラグインを試すことができます、それはまさにそれのために素晴らしいです。

_編集_

たとえば、 http://admin.mywebsite.com/ のように、透過的にリダイレクトするサブドメインを設定して、wp-admin /フォルダにリダイレクトすることもできます。しかし、それから私は人々がまだすべてのリンクでwp-admin /を見るだろうと思います(exのためにホバーに)。

1
mike23

あなたのhtaccessがコードを他のコメントやwordpressや他のプラグインによって追加されたコードの前の最初の行に文字通りに配置する限りにおいて。

Janが述べたように、書き換えは2つの部分から成ります。だから.htaccessの横にあなたはadmin_urlフィルタを変更する必要があります

function custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'custom_admin_url');
0
Bryan Willis

URLを変更することは常に2つの部分から成ります:URLを受け入れるコードを変更すること(あなたがexample.com/editに行くときあなたが何かを得ることを確実にするため)とコードがHTMLに出力するURLを変えることwp-admin/edit/)と書きます。

最初の部分は簡単な部分です、そしてあなたはApacheの書き換え規則でそれをすることができます。このようにしてexample.com/editに対するリクエストを作成し、example.com/wp-adminに対するリクエストを作成します。

2番目の部分は難しい部分です、そしてそれは至る所で「ハードコーディング」されているので、実際にはグローバルな検索と置換が必要です。議論とTracのチケット Mikeは以前の質問に対する回答でリンクしていました 彼らは利益を見ていないので、コア開発者は現在これを変更する計画がないことを示しています。実際、あなたのユースケースはwp-adminを使うことを必要としない方法で処理することもできます(すべてをフロントエンドに移動します)。

0
Jan Fabry