Apache RewriteRule e barre (% 2F)

Ho il seguente RewriteRule :

 RewriteRule ^like/(.+)$ ask.php/$1 

Che funziona bene per richieste come:

  • Nginx invia il proxy all'URL esterno che ha reindirizzato in loco
  • Qual è il numero massimo di virtualhost che Apache può gestire?
  • Come limitare il server a specifici indirizzi IP con mod_authz_host?
  • Tutti i virtualhost che servono i file predefiniti di Apache
  • Modifica di un'intestazione Set-Cookie usando mod_rewrite / mod_proxy
  • Mascheramento dell'URL in un mod_rewrite
  •  /like/someting+here/something+else 

    Ma per le richieste in cui una delle parti del path contiene una slash sfuggita ( %2F ), il server sputa un errore 404 non trovato:

     /like/one%2Ftwo+things/ 

    C'è un modo per risolvere questo problema? Ho provato entrambi i flag [B] e [NE] (separati e insieme), ma niente ha funzionato.

    Modifica: ho anche provato:

     RewriteRule ^like/ ask.php # or RewriteRule ^like/(.*) ask.php 

    Così che non deve necessariamente corrispondere alla slash. Ancora non funziona.

  • Linux LVM: partizioni singole o multiple su disco rigido?
  • come visualizzare i nomi host nel traffico che entra nel mio server web (Apache)?
  • Traccia il traffico tra 2 tabs di networking
  • Gigabit Teaming o Bonding
  • Linux vede solo un disco di recinzione eSATA a 4 dischi
  • gatto un file audio nel microfono / dispositivo di logging
  • 2 Solutions collect form web for “Apache RewriteRule e barre (% 2F)”

    La direttiva Apache mi ha aiutato

     AllowEncodedSlashes On 

    Ho trovato la risposta qui qui . Per citare i bit rilevanti:

    Il nudo "% 2f" è consentito in una string di query. ma non in un URL. Per essere valido, dovrebbe essere codificato come% 252f, che penso che troverai per funzionare come ti aspetti.

    Poiché l'URL stesso non è valido, il server lo rifiuta prima che vengano invocati moduli apache.

    Per ulteriori informazioni, vedere RFC2396 – Uniform Resource Identifiers (URI): Generic Sintassi .

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.