Excluindo um diretório com ISAPI-Rewrite

votos
1

Eu estou tentando excluir um diretório com ISAPI-Rewrite (nota: esta é uma porta windows / iis de mod-reescrita).

O diretório que deseja excluir é api quando se está na raiz do site.

Aqui é a minha regra:

RewriteRule ^ (/ api /)(.+)$ $ 1 $ 2 [NC, L]

Um pedido seria algo parecido com isto: / api / v2 / usuários usernames = scottw

Infelizmente, o valor querstring está sempre sendo excluídos e a URL está sendo rewrittten como / API / v2 / usuários.

Estou atacando sob a suposição de que (. +) Iria capturar tudo o resto.

Alguma sugestão? Ou uma melhor maneira de excluir um diretório?

obrigado

Atualização : Eu também simplificou a regra, mas que não mudou nada também:

RewriteRule ^ (/ api /.+)$ $ 1

Publicado 19/05/2009 em 14:38
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Acontece que há duas coisas acontecendo aqui:

  1. A expressão regular deve ser ^ (api /) e não ^ (/ API). O primeiro "/" é excluído.
  2. A ferramenta de analisador regex que é fornecido com ISAPI_Rewrite não parecem lidar com querystrings corretamente.

A regra, que finalmente parece estar funcionando é:

RewriteRule ^(api/.+) $1 [NC,L]
Respondeu 19/05/2009 em 15:54
fonte usuário

votos
0

Eu vi algumas vezes '+' funciona estranhamente, você pode tentar mudar para '.. *' Eu não estou dizendo que ele vai trabalhar, mas pode valer a pena uma tentativa.

Respondeu 19/05/2009 em 14:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more