現在wordpressサイトを制作しており、サイト内に会員様しかログインできないページを作ろうと制作中です。
固定ページにアクセス制限をもうけており、ローカル環境だとうまく動作するのですが、サーバーにあげるとうまく動作せず、何回IDとPWを入力してもはじかれてしまう状況です。
同様の記事が多く見かけられたので(例えばhttp://kotori-blog.com/wordpress/basic_authentication_wp/)、習ってやってみましたが、サーバーにあげるとはじかれてしまいます。
クライアントさまに確認していただくためのものなので、サイト全体にも別でBASIC認証をかけているのですが、それが原因かと思い外してみてもはじかれてしまうので、困ってしまい質問させていただきました。
利用しているサーバーはロリポップのスタンダードプラン(https://lolipop.jp/pricing/)です。
ソースコードなど記載いたしますので、ご教授いただけますと幸いです。
何卒よろしくお願い致します。
サイトのURL http://example.jp/フォルダ名/ wordpressのURL http://example.jp/wp/フォルダ名/
header.php(一番上に記述)
<?php if(!is_home()): if(is_category('member') || is_page('member') || is_parent_slug() === 'member') : //Basic認証を掛けたいカテゴリID $userArray = array("admin" => "password" ); basic_auth($userArray); endif; endif; ?>
functions.php(一番上に記述)
<?php // BASIC認証 function basic_auth($auth_list,$realm="Restricted Area",$failed_text="認証に失敗しました"){ if (isset($_SERVER['PHP_AUTH_USER']) and isset($auth_list[$_SERVER['PHP_AUTH_USER']])){ if ($auth_list[$_SERVER['PHP_AUTH_USER']] == $_SERVER['PHP_AUTH_PW']){ return $_SERVER['PHP_AUTH_USER']; } } header('WWW-Authenticate: Basic realm="'.$realm.'"'); header('HTTP/1.0 401 Unauthorized'); header('Content-type: text/html; charset='.mb_internal_encoding()); die($failed_text); } ?>
.htaccess
AuthUserFile フルパス/フォルダ名/.htpasswd AuthGroupFile /dev/null AuthName "Please enter ID and PASSWORD." AuthType Basic require valid-user # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] RewriteBase /フォルダ名/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /anegasaki/index.php [L] </IfModule> # END WordPress
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/12/25 04:27