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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

2回答

6646閲覧

.htaccessで特定のURLパラメータがある場合、basic認証をかけない記述

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2016/08/29 05:56

編集2016/08/29 07:46

.htaccessで特定のURLパラメータがある場合、basic認証をかけない記述を教えていただきたいです。

***/AAA.php?admin=par_a

というURLで、

***/AAA.php でアクセスした場合にはbasic認証をかけたいのですが、
***/AAA.php?admin=par_a ろ特定のパラメータを付けてアクセスした場合にはbasic認証をかけない

ということをしたいのですが、調べて試してみたのですが上手くいかず、
記述の方法を教えていただければと質問させていただきました。

*** 追記 ***

下記URLを参考に (参考ページは行ないたいことの逆ですが)
http://qiita.com/hanamiche/items/8b9212df6a56d83152bb

下記.htaccessを記述しました。
(PATH は環境にあわせたパスになります)

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^PATH/AAA\.php RewriteCond %{QUERY_STRING} admin=par_a RewriteRule (.*) $1 [E=admin_access:1] </IfModule> <Files AAA.php> Order allow,deny Allow from all Deny from env=admin_access AuthName "Input ID & Password" AuthType Basic AuthUserFile PATH/.htpasswd AuthGroupFile /dev/null require valid-user Satisfy Any </Files>

この記述で実行すると
AAA.php でも AAA.php?admin=par_a でもbasic認証が付きません。

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

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

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

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

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

kunai

2016/08/29 06:35

その「試してみたけどうまく行かなかった」モノを提示してください。 また、うまく行かなかったというのがどういう状態なのか。 basic認証が走ってしまったのか、basic認証をかけたい所もかからなくなってしまったのか、または設定がエラーだとApacheに怒られたのか等。
kei344

2016/08/29 07:43

.htaccessはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
guest

回答2

0

以下、拡張子間違ってませんか?

<Files AAA.html>

投稿2016/08/29 07:42

moonphase

総合スコア6621

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

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

退会済みユーザー

退会済みユーザー

2016/08/29 07:49

すみません。 文章中に.htmlと.phpの2種類を使用しており、紛らわしいので、.phpに統一いたしました。 正しくは.phpになります。
guest

0

ベストアンサー

.htaccessでQueryString付きの特定URLに対してBASIC認証をかけたい と同じで、.htaccess だと先に Deny from env=admin_access が評価されてしまうので、実現できないと思います。
httpd.conf であれば実現できると思います。

特定のパラメータを付けてアクセスした場合にはbasic認証をかけない

であれば、QUERY_STRING の条件は逆「RewriteCond %{QUERY_STRING} !admin=par_a」ではないでしょうか。

投稿2016/08/29 11:16

TaichiYanagiya

総合スコア12146

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

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

退会済みユーザー

退会済みユーザー

2016/08/30 16:28

ご教示いただいたページを参考にhttpd.confに記述することで解決しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問