Provavelmente você deseje location ^ ~ em vez de location ~, já que a primeira é uma correspondência de prefixo que não permite substituições de regex e a segunda é uma localização de regex. Além disso, remova o retorno 403; As diretivas allow e deny são suficientes para a sua aplicação, e o retorno será sempre avaliado, o que significa que todos receberão um 403.