subpasta de data mod_rewrite não está funcionando

1

Estou tendo um problema estranho em que estou perplexo. Vou prelúdio com que o regex não é meu ponto strong. Eu preciso de feedback da comunidade para fazer isso funcionar.

If I have the following URL:

  http://example.com/2015-03-25/  

Eu quero executá-los através de um arquivo PHP. Essa regra funciona muito bem com o seguinte mod_rewrite:

 RewriteRule ^/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

But I want to move the folder to:

  http://example.com/my_pages/2015-03-25/

Esta regra não funciona:

 RewriteRule ^/my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

Esta regra também não funciona:

 RewriteRule ^my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

O que estou perdendo aqui? A ajuda das comunidades é muito apreciada.

ATUALIZAÇÃO!

Foi o que fiz para corrigir o problema:

RewriteRule ^my_pages\/([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

vs.

RewriteRule ^/my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

Agora, curiosamente, no Apache 2.4, a sintaxe correta era na verdade.

RewriteRule ^my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]  
    
por TGR 27.03.2015 / 17:31

1 resposta

0

ATUALIZAÇÃO!

Foi o que fiz para corrigir o problema:

RewriteRule ^my_pages\/([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

vs.

RewriteRule ^/my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]

Agora, curiosamente, no Apache 2.4, a sintaxe correta era na verdade.

RewriteRule ^my_pages/?([0-9]){4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/(.*)$ show_page.php?page=$3 [NC,L]  
    
por 29.03.2015 / 08:24