se o arquivo solicitado não existir em a / b / c.jpg para pesquisar em /old/a/b/c.jpg

1

Estou usando o apache 2.2 e que serve um site em que parte do conteúdo é movido para diretórios diferentes. Existe uma maneira de ter algum tipo de regra de reescrita para o arquivo .htacces se o arquivo solicitado (não importa se é php ou jpg ou qualquer outra coisa) não existir, para prefixar um nome de diretório e tentar novamente? / p>

por exemplo:

se o URL de solicitação for um / b / c.jpg e não existir,

para tentar procurá-lo em /old/a/b/c.jpg.

obrigado!

    
por ufk 12.05.2011 / 16:52

2 respostas

1

Acho que você pode fazer isso com -f (verifique se o arquivo existe). Tente algo assim (não testado):

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} ! -f
RewriteRule ^(.*)$ /old/$1 [L,R=301]

Editar: erro de digitação fixo.

    
por 12.05.2011 / 17:08
1
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/old/
RewriteRule ^(.*)$ /old/$1 [L,QSA]

Eu acho que também é necessário verificar diretórios. E adicione o último RewriteCond para evitar reescritas recursivas.

    
por 12.05.2011 / 17:14