質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1753閲覧

ワードプレスのログインURLを変更したい

nahcakuy7

総合スコア4

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

2クリップ

投稿2019/04/23 12:17

編集2019/04/23 16:07

ワードプレスのログインURLを変更したいです。
ログイン用のanywhere-login.phpを用意して、以下の方法で変えましたが、ログインしていた時にFTPであげると無事ログインできるのですが、キャッシュ等を消してしまうとログインできなくなります。
プラグインも使用してみましたが、
希望のURLでログイン画面は出るのですが、パスワード等を入力した後、403の画面に遷移します。
キャッシュクリアしてもログインを可能にするにはどうしたら良いのでしょうか?
また、私以外の人がログインしようとしても403エラーが出てくるのですが、どのように変更すると良いのでしょうか?
よろしくお願いいたします。
現在はanywhere-login.phpの内容のみFTPであげていて、URL/anywhere-login/でログイン画面があり無事入れますが、URL/wp-admin/でも同様に入れてしまいます。

変更点
//login.phpの内容

php

1<?php 2define( 'ANYWHERE_LOGIN', sha1( 'keyword' ) ); 3require_once './wp-login.php'; 4?> 5

//function.phpに追記

php

1define( 'ANYWHERE_LOGIN_PAGE', 'anywhere-login.php' ); 2add_action( 'login_init', 'anywhere_login_init' ); 3add_filter( 'site_url', 'anywhere_login_site_url', 10, 4 ); 4add_filter( 'wp_redirect', 'anywhere_login_wp_redirect', 10, 2 ); 5if ( ! function_exists( 'anywhere_login_init' ) ) { 6 function anywhere_login_init() { 7 if ( !defined( 'ANYWHERE_LOGIN' ) || sha1( 'keyword' ) != ANYWHERE_LOGIN ) { 8 status_header( 403 ); 9 exit; 10 } 11 } 12} 13if ( ! function_exists( 'anywhere_login_site_url' ) ) { 14 function anywhere_login_site_url( $url, $path, $orig_scheme, $blog_id ) { 15 if ( ( $path == 'wp-login.php' || preg_match( '/wp-login.php?action=\w+/', $path ) ) && 16 ( is_user_logged_in() || strpos( $_SERVER['REQUEST_URI'], ANYWHERE_LOGIN_PAGE ) !== false ) ) 17 $url = str_replace( 'wp-login.php', ANYWHERE_LOGIN_PAGE, $url ); 18 return $url; 19 } 20} 21if ( ! function_exists( 'anywhere_login_wp_redirect' ) ) { 22 function anywhere_login_wp_redirect( $location, $status ) { 23 if ( strpos( $_SERVER['REQUEST_URI'], ANYWHERE_LOGIN_PAGE ) !== false ) 24 $location = str_replace( 'wp-login.php', ANYWHERE_LOGIN_PAGE, $location ); 25 return $location; 26 } 27}

####追加情報
他のレンタルサーバーで全く同じサイトをテストサイトとして作成しており、そちらで試したところ同様のファイルで問題なくいけました。
つまり、本番サーバーの方だけがはじかれてしまうようです。
テストはXserverで本番はlolipopです。

プラグインも3つほど試しましたが、どれもダメでした。
1つ目はhttps://elearn.jp/wpman/column/login-rebuilder.html ログイン画面は表示されるが入れず
2つ目はSiteGuard WP Plugin URLの変更ができずログイン画面が表示されない
3つ目はWPS Hide Login 下記エラーのためプラグイン自体を有効にできず

Warning: Unexpected character in input: '' (ASCII=92) state=1 in サイトURL/wp-content/plugins/wps-hide-login/wps-hide-login.php on line 37

Warning: Unexpected character in input: '' (ASCII=92) state=1 in サイトURL/wp-content/plugins/wps-hide-login/wps-hide-login.php on line 37

Parse error: syntax error, unexpected T_STRING in サイトURL/wp-content/plugins/wps-hide-login/wps-hide-login.php on line 37

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/04/23 12:32 編集

ソースコードは、markdown の <code> ボタン等を利用して読みやすくしていただけないでしょうか?
nahcakuy7

2019/04/23 13:52

ご教示いただきありがとうございます。 <code>を使用してみました。 よろしくお願いいたします。
CHERRY

2019/04/23 14:13

ログインできない時に Webサーバーのログには何かメッセージは出ていないでしょうか?
nahcakuy7

2019/04/23 15:19

レンタルサーバーは私が管理しておらずアカウントにログインできないため、Webサーバーのログがわからなかったのですが、他のエラーとしては以下が結果です。 ・ページに表示されるエラー このページを表示する権限がありません。 HTTP ERROR 403 ・コンソールログに表示されるエラー Failed to load resource: the server responded with a status of 403 (Forbidden) wp-login.php:1 以下を参考にエラーlogをとってみようともしましたが、debug.logには何も記載がありませんでした。 https://wp-doctor.jp/blog/2017/06/26/%E3%83%AF%E3%83%BC%E3%83%89%E3%83%97%E3%83%AC%E3%82%B9wordpress%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%AD%E3%82%B0%E3%82%92%E8%A8%98%E9%8C%B2%E3%81%97%E3%81%A6%E3%80%81%E3%82%B5%E3%82%A4%E3%83%88/
guest

回答1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nahcakuy7

2019/04/23 13:58 編集

ご回答ありがとうございます。 こちらのプラグインは事情により、anywhere-login.phpを消せないのでanywhere-login.phpを残したままの状態で、プラグイン上でこちらのファイル名を指定してキーワードも同じにして入力したのですが、同じくそのページでログイン画面は表示されましたが403で入れませんでした。 そのためどうしても入れなくなったため、プラグインフォルダをFTPから削除すると、またURL/anywhere-login/でログインすると入れるようになりました。 なので、まだ同じ状態です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問