【WordPress】basic認証で特定のURLパラメータがある場合、basic認証をかけない方法
AWSで稼働しているEC2のWordpressにbasic認証をかけたいと思って色々調べた結果を備忘録として記載します。
表題のとおり、
basic認証をかける。
特定のURLパラメータがある場合、basic認証をかけない(bypassするようなイメージ)ようにする。
の方法。
例)
http://www.example.com/index.html←このときはbasic認証かける
http://www.example.com/index.html/?abc=1←このときはbasic認証かけない
結論から言うと、.htpasswordにid,pwを記載し、apacheのhttpd.confに以下内容を記載すればいいみたいです。
注)以下はAWS EC2のWordpress用のAMI (WordPress powered by Bitnami)を使用した場合になるので、httpd.confの代わりにbitnami.confに記載しています。)
1、/opt/bitnami/apps/wordpress/htdocs/.htpasswdにid,pwを記載します。該当ファイルが無い場合は作成しアップロードします。
1 |
hoge:(暗号化したパスワード) |
参考:
パスワードの暗号化
http://tech-unlimited.com/makehtpasswd.html
2、/opt/bitnami/apache2/conf/bitnami/bitnami.confのVirtualHost _default_:80以降に以下を記載します。
#basic authentication -start-から#basic authentication -end-までを記載。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<VirtualHost _default_:80> DocumentRoot "/opt/bitnami/apache2/htdocs" #basic authentication -start- RewriteEngine On RewriteCond %{REQUEST_URI} ^/index.html RewriteCond %{QUERY_STRING} !abc=1 RewriteRule ^.*$ - [E=admin_access:1,L] <Files "index.html"> Order allow,deny Allow from All Deny from env=admin_access AuthUserFile /opt/bitnami/apps/wordpress/htdocs/.htpasswd AuthGroupFile /dev/null AuthName "Administorator's Area" AuthType Basic require valid-user Satisfy Any #basic authentication -end- |
3、apache再起動します。
http://www.example.com/index.htmlにアクセスするとbasic認証が表示されます。.htpasswdで設定したid,pwでログインできました。
http://www.example.com/index.html/?abc=1にアクセスするとbasic認証は表示されずにページが表示されました。