基本認証プロシージャフォルダーのサブフォルダーに問題があります。保護されたフォルダーには、phpmyadminという名前のフォルダーがあり、これにはphpmyadminが含まれています。基本が有効になっていると、phpmyadminを実行できません。フォルダーを呼び出すと、名前を付けて保存ダイアログが表示されます(タイプ:application/octet-stream(18,3 KB))。
ここでmysites-available/defaultの重要な部分
location ^~ /administration/ {
auth_basic "Restricted Area";
auth_basic_user_file /var/www/myproject/sec/htpasswd;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
基本認証で保護されたサブフォルダーでPHPを実行する方法はありますか?
編集:basic_authなしでphpmyadminは問題なく実行されています。
基本的には次のようにする必要があります:(擬似コード、申し訳ありません)
location /administration/ {
<auth_stuff here>
location ~ \.php {
<php inside auth here>
}
}
これは、認証がその場所にのみ影響するためです。
^~
(nginxに検索を停止するように指示するため、phpの場所はそのディレクトリに一致しない)を削除して、PHPブロック。おそらく….
無関係ですが、こちらもお読みください http://wiki.nginx.org/Pitfalls#Passing_Uncontrolled_Requests_to_PHP