しかし、画像等一部拡張子ファイルがアップロードできない問題は、検索しても出てこなかったので備忘録を込めてメモっておきます。
WebDAV は、 SSL+BASIC認証でアクセスしている環境下でのテストです。
Not Allow エラー
ファイルパーミッションが問題ないのに、 WordPress のテーマフォルダに PHPファイルはアップロードできるのに画像をアップロードできない〜っていう場合には、location で拡張子を設定してあげてください。nginx では location で明示的に指定されていない拡張子はアクセスできない仕様です。
location ~* ^.+\.(js|css|png|jpg|jpeg|gif|html|swf|flv)$ {
}
など、アップロード許可を与える拡張子を設定するわけですね。
{} 内は記述なしでOKです。ログを残したくなければ、
あたりを {} 内に入れておけばよいでしょう。{} 内は記述なしでOKです。ログを残したくなければ、
- access_log off; log_not_found off
Bad Request 400 エラー
webdav に対するパスワード制限に加えて、サイトまるごとパスワード制限していないか確認してみてください。
- Not Allowエラー状態(上部の拡張子を許可していないケース)
- サイト丸ごとパスワード制限が共有パスワード(よくある公開前の内部閲覧等)
- webdav はユーザーごとのパスワード
ただこの問題は、Not Allowエラーで説明した拡張子を許可することで解消します。
2017年3月3日 @kimipooh