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]
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.)
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]
Tags apache-2.2