
Utilizando .htaccess
regras, estou tentando carregar um arquivo de dentro de um subdiretório, mantendo o URL do front-end inalterado se o domínio e o caminho do arquivo corresponderem aos critérios.
Exemplo de URL:
example.com/specificfile.xml
O arquivo em si está dentro de um subdiretório que não é a raiz pública da web:
/var/www/feeds/specificfile.xml
Ao tentar pesquisar isso no Google, estou obtendo muitos resultados, RewriteBase
mas não é isso que procuro. Preciso "reescrever o diretório base" para apenas um único arquivo e manter o URL do frontend.
Responder1
Supondo /var/www
que seja a raiz do documento, para servir /feeds/specificfile.xml
ao solicitar, /specificfile.xml
você faria o seguinte usando mod_rewrite no .htaccess
arquivo raiz:
RewriteRule ^specificfile\.xml$ feeds/$0 [L]
Para que isso funcione, RewriteBase
deve ser não definido (preferível) ou definido como RewriteBase /
.
A $0
referência anterior simplesmente salva repetições - refere-se a todo o caminho da URL que corresponde aoRewriteRule
padrão, ou seja. specificfile.xml
.
Observe que se você tiver diretivas mod_rewrite existentes em seu .htaccess
arquivo, entãoordem é importante. (por exemplo, redirecionamentos externos/canônicos precisam ser executados primeiro.)