Direcionamento de solicitações no Apache e transformação de como o URI de solicitação é visto

1

Como posso configurar o Apache para direcionar solicitações de determinada URL no servidor para um diretório específico e, ao mesmo tempo, transformar como essa URL é vista pelo script que a processa?

Digamos que eu tenha um script php no seguinte diretório:

/somedir/foo/script.php

Gostaria que todas as solicitações HTTP recebidas para link * fossem processadas por /somedir/foo/script.php. No entanto, eu também gostaria que o script para saber o que o restante do URI é na variável REQUEST_URI.
 (A parte * do URL é uma informação opaca que só é significativa para o script e pode ser qualquer coisa)

Por exemplo:

http://example.com/foo/

será manipulado por /somedir/foo/script.php, e o script verá o REQUEST_URI como simplesmente "/" e

http://example.com/foo/the/quick/brown/fox.html

também será manipulado por /somedir/foo/script.php, enquanto REQUEST_URI será visto como "/the/quick/brown/fox.html"

Como configuro o Apache para se comportar dessa maneira?

(Note que esta é estritamente uma questão do Apache; eu não quero alterar o script de qualquer forma.)

    
por scrapdog 26.01.2011 / 17:53

1 resposta

1

Isso é facilmente feito com o mod_rewrite, o Wordpress usa isso com bastante frequência

RewriteBase /foo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /somedir/foo/script.php [L]
    
por 26.01.2011 / 18:00

Tags