tente com isso
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$0 [L]
sorte !!
Em vez de acessar diretamente as imagens, preciso usar o RewriteRule para redirecionar um conjunto de imagens a serem acessadas por meio de um script.
Um RewriteRule é usado para isso:
RewriteRule ^Images/test/([^.\/]*)\.png /image.php?file=$1.png [R=301,L]
Espero que isso mude:
www.example.com/Images/test/123.png
em
www.example.com/image.php?file=123.png
Mas isso não acontece.
Mas se eu alterar o RewriteRule para o seguinte:
RewriteRule ^Images2/test/([^.\/]*)\.png /image.php?file=$1.png [R=301,L]
Os seguintes trabalhos:
www.example.com/Images2/test/123.png
em
www.example.com/image.php?file=123.png
A diferença é que existem imagens enquanto o Images2 não existe. É possível trabalhar com uma pasta existente.
Alguma ajuda sobre como obter o exemplo principal?
Atualizar : Depois de analisar cuidadosamente a documentação do mod_rewrite , encontrei o seguinte:
... Note que mod_rewrite tenta adivinhar se você especificou um caminho de sistema de arquivos ou um caminho de URL verificando se o primeiro segmento do caminho existe na raiz do sistema de arquivos ...
Parece que, se o caminho for interpretado como um caminho de URL, ele funcionará e, se for interpretado como um caminho do sistema de arquivos, ele falhará.
tente com isso
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$0 [L]
sorte !!
Tente alterar o início da sua âncora para ^/
, apenas um palpite. Eu pessoalmente não usei RewriteRules ancorados no início da linha que não começam com uma barra, mas eu posso ver como isso pode criar alguma estranheza dentro do mecanismo.
Tags .htaccess apache-2.2 rewrite