以下の3つの設定で可能。

  • SetEnvIf で特定のURLに、例えば noauth=1 という環境変数を割り当てる。
  • Allow from env=noauth
  • Satisfy any
<VirtualHost *:80>

  ServerName example.com
  DocumentRoot /proj/example.com/current/public
  RailsEnv production

  SetEnvIf Request_URI ^/$ noauth=1
  SetEnvIf Request_URI ^/some-assets/ noauth=1

  <Location />
    Options -MultiViews
    Order Deny,Allow
    Deny from all
    Satisfy any
    Allow from env=noauth
    AuthUserFile /etc/httpd/etc/passwd
    AuthName "admin"
    AuthType Basic
    Require valid-user
  </Location>

  ...