Linha específica em .htaccess causando 403 em vez de listagem de diretórios

1

Em uma instalação do Wordpress, um arquivo .htaccess está causando um erro 403 ao acessar um subdiretório foo (o subdiretório não faz parte da instalação do Wordpress, mas é criado por mim mesmo mais tarde). Por exemplo, eu tenho o seguinte arquivo de árvore:

/www
 |-wp-content/
 |-[all the stuff for wordpress]
 |-.htaccess
 |-foo/
   |-.htaccess

Mais especificamente, a linha em www/.htaccess que causa o erro é a seguinte:

RedirectMatch 403 \.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$

Para superar isso, criei www/foo/.htaccess com:

RedirectMatch 200 \.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$

Mas não entendo por que a linha afeta a listagem de diretórios de foo . O nome do subdiretório é realmente foo (para os testes) e o diretório está vazio entre os .htaccess .

    
por Shan-x 17.01.2017 / 14:07

1 resposta

0

Eu suponho que há um arquivo que corresponde ao regex no seu diretório foo.

\.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$ corresponderá a qualquer coisa terminada por . e seguida por uma das extensões listadas.

Portanto, se você tiver bar.cgi em seu diretório foo, o caminho será foo/bar.cgi e o final do caminho acionará a correspondência e impedirá a listagem do diretório.

Showcase deste comportamento em regex101

    
por 17.01.2017 / 14:36