🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

2回答

1586閲覧

.htaccessで複数の条件で制限をする方法

tomi-y

総合スコア0

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2020/12/18 14:12

特定のディレクトリにアクセス制限をする際、条件を組み合わせる記載方法はどうしたらよいのでしょうか。

実現したいことは、

・原則アクセス拒否

・特定のIPアドレスでアクセスした場合は許可

・別の特定のIPアドレスでアクセスした場合は、Basic認証でアクセス許可

これらをまとめて、1つのhtaccessに記載したく、satisfy all と satisfy any を
組み合わせて使うのだと思いますが、同じファイル内に記載する方法が分かりません。

現在は以下の記載で、IPアドレス123.456.・・でアクセスしたときは許可して、
それ以外の場合はBasic認証で許可しています。
この、Basic認証を、別の特定のIPアドレスでアクセスしたときのみ表示するものとして、
それ以外の場合は、拒否(Basic認証も行わず)したく思っています。

satisfy any

AuthUserFile /home/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic

<Limit GET POST> order deny,allow deny from all allow from 123.456. require valid-user </Limit>

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

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

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

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

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

guest

回答2

0

Apache2.4以上前提ですが、

Apache

1AuthUserFile /home/.htpasswd 2AuthGroupFile /dev/null 3AuthName "Please enter your ID and password" 4AuthType Basic 5 6<RequireALL> 7require ip xxx.xxx.xxx.xxx 8require valid-user 9</RequireALL> 10 11<RequireALL> 12require ip yyy.yyy.yyy.yyy 13</RequireALL>

でどうでしょうか?RequireALLとか使ったこと無いので、多分ですが。

投稿2020/12/18 15:28

otn

総合スコア85882

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

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

otn

2020/12/18 16:22

2つめのRequireALLは、中身が1つなので、囲む必要ないですね。 require ip のみで良いと思います。
guest

0

RewriteCondで複数条件をつけ、
RewriteRuleで、リライト(リダイレクト)させればできます。

投稿2020/12/18 14:48

miyabi_takatsuk

総合スコア9555

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

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

tomi-y

2020/12/18 14:57

ありがとうございます。 具体な記載方法を記載いただけませんでしょうか。 RewriteCondの書き方がいまいち理解できておらず。。
miyabi_takatsuk

2020/12/18 15:04

まずは、ご自身で調べてみて、やってみて、どうしてもわからない部分が出たら、質問文に追記してください。
tomi-y

2020/12/18 15:07

失礼いたしました。 まずは調べてやってみるようにいたします。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問