RewriteRule preservando o caminho entre os ambientes [duplicado]

1

Estou tentando criar algumas regras de redirecionamento que funcionarão no meu diretório de trabalho local e na produção. O problema sendo meu dev local env funciona via "localhost / exp" onde a produção trabalha a partir da raiz do domínio "www.lorem.com".

Fazendo:

RewriteEngine On
RewriteCond ^rec.php /core/rec [R=301,L]

Funciona na produção não se preocupa, mas no meu local ele redireciona para: "localhost / core / rec", onde como eu quero que seja "localhost / exp / core / rec"

Eu prefiro não ter que codificar "exp" lá, até agora eu achei que a única maneira de fazer isso é ter regras separadas por ambiente, eu poderia fazê-lo funcionar no meu local usando:

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)/exp/(.*)
RewriteRule ^rec.php /exp/core/rec [R=301,L]

Aprecie qualquer ajuda sobre isso. Obrigado!

    
por Tom 15.01.2014 / 04:44

1 resposta

0

Prefixe seu RewriteRule (s) com um RewriteCond correspondente a qualquer um dos "internos do servidor". Veja a lista completa de internos do servidor aqui .

SERVER_NAME é o que mais aparece para mim, possivelmente, o melhor a ser usado, por exemplo, para usar o prefixo (adicional) no RewriteRule:

RewriteCond %{SERVER_NAME} localhost

ou para outro que não seja o host local:

RewriteCond %{SERVER_NAME} !localhost
    
por 15.01.2014 / 06:29