Como fazer. combina tudo na configuração do apache?

2

Por dentro do httpd.conf:

 rewriterule  ^questions/([0-9]+).*  ...

Corresponde a /questions/1674/<textarea> , mas não /questions/1674/<textarea><%2Ftextarea>

    
por apache 20.03.2010 / 15:17

2 respostas

1

Se você tiver uma barra codificada no URI, o Apache retornará um 404 de atualização. O log de erro informará:

[info] [cliente 1.2.3.4] encontrou% 2f (codificado '/') em URI (decoded = '/ question / 1 /'), retornando 404

Para resolver isso, adicione à sua raiz httpd.conf ou à seção <VirtualHost> a seguinte diretiva:

AllowEncodedSlashes On

E então sua reescrita funcionará. Informações do manual do Apache:

The AllowEncodedSlashes directive allows URLs which contain encoded path separators (%2F for / and additionally %5C for \ on according systems) to be used. Normally such URLs are refused with a 404 (Not found) error.

Para mais informações, consulte:

link

link

    
por 23.03.2010 / 17:28
0

Talvez você precise da bandeira No Escape [NE] na regra? Pesquise noescape em esta página .

    
por 20.03.2010 / 17:09