mod_rewrite para URI amigável com REST com caminhos relativos e sem loop

0

Minha estrutura de pastas é muito parecida com a seguinte:

/a/b/api/
   .htaccess
   index.php
   support.php
   debug/
      debug.php

Estou tentando usar o mod_rewrite para fazer o seguinte: a / b / api / d - > a / b / api / index.php / d a / b / api / d / e - > a / b / c / index.php / d / e a / b / api / support.php - > um / b / c / index.php / support.php a / b / api / debug / debug.php - > a / b / c / index.php / debug / debug.php

Para evitar o loop, a maioria das pessoas sugere adicionar

RewriteCond %{REQUEST_FILENAME} !-f 

que não bloqueia o acesso ao support.php. Infelizmente, se eu removê-lo, recebo um erro de profundidade máxima de recursão em index.php. Outra solução que as pessoas sugerem é usar RewriteBase para definir uma base para / a / b / c. Infelizmente, este script precisa ser colocado em qualquer diretório arbitrário, então ele pode acabar em um / z / c ou b / a / c.

Existe alguma maneira de redirecionar tudo, exceto as referências a si mesmo para index.php (sem o conhecimento da pasta dele)

Código completo:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$0
    
por Ryan 27.12.2017 / 19:29

0 respostas