• ベストアンサー

htaccessを使った引数に応じたアクセス制限

.htaccessを使って、以下のようなURLの引数に応じたアクセス制限を 行うことはできないでしょうか。 http://dummy/abc/dt.php?id=nnn フォルダ単位で制御してしまうと、nnnの番号に関係なく認証ダイアログが出てしまいます。 これをnnnの番号に応じた制御をしたいと考えています。 (例:123と234はダイアログ表示、それ以外は表示しない) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

#Apacheの.htaccessの質問であって、phpとは無関係に思えますが・・・ SetEnvIfで所定のRequest_URI(QueryStringも含まれているハズです)に対して環境変数をセットして、その環境変数が存在したら「allow」にする・・・というのは書けますよね? http://httpd.apache.org/docs/2.0/ja/mod/mod_setenvif.html#setenvif http://httpd.apache.org/docs/2.0/ja/mod/mod_access.html#order あとは、BASIC認証とsatify anyにすればいいと思います(環境変数がセットされてallowのときは認証ダイアログをパスする)。 http://httpd.apache.org/docs/2.0/ja/mod/core.html#satisfy もし「phpスクリプトで」となると、認証関係もphpスクリプトでやるしかありません(BASIC認証はphpの動作以前の話ですので、制御不可です)。あるいは(「nnnに応じて」というだけでは、どう制御したいのか読み取れませんが).htaccess自体をphpスクリプトで書き替えるような仕組みにするとかでしょうか。

関連するQ&A

専門家に質問してみよう